所以iOS的Safari瀏覽器11本來是要增加對通過Web Audio API的支持,但它似乎仍然沒有與這段JavaScript代碼的工作:無法獲取網絡音頻API與iOS Safari瀏覽器11的工作
//called on page load
get_user_media = get_user_media || navigator.webkitGetUserMedia;
get_user_media = get_user_media || navigator.mozGetUserMedia;
get_user_media.call(navigator, { "audio": true }, use_stream, function() { });
function use_stream(stream){
var audio_context = new AudioContext();
var microphone = audio_context.createMediaStreamSource(stream);
window.source = microphone; // Workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=934512
var script_processor = audio_context.createScriptProcessor(1024, 1, 1);
script_processor.connect(audio_context.destination);
microphone.connect(script_processor);
//do more stuff which involves processing the data from user's microphone...
}
我複製了大部分代碼,因此我只能粗略理解它。我知道它應該(並且在其他瀏覽器上)捕獲用戶的麥克風以進一步處理。我知道代碼在var audio_context = new AudioContext();
一行(因爲在運行之後沒有代碼)中斷,但沒有任何錯誤消息,因爲我沒有調試iOS Safari所需的mac(蘋果已經死機> _ <)任何人都知道發生了什麼和/或如何解決它?
E:忘了提,我看着它,顯然我需要使用Safari網絡音頻API,但是使它var audio_context = new webkitAudioContext();
之前關鍵字「WebKit的」不工作,要麼
將其更改爲window.webketAudioContext – user7951676
是webket一個錯字? – Artikash
用'''var audio_context = window.webkitAudioContext'替換'''var audio_context = new AudioContext();'但似乎並沒有幫助 – Artikash