Art*_*ash 5 javascript safari ios
所以iOS 11 Safari应该添加对Web Audio API的支持,但它似乎仍然不适用于这个javascript代码:
//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...
}
Run Code Online (Sandbox Code Playgroud)
我复制粘贴了大部分代码,所以我只是粗略地了解它.我知道它应该(并且在其他浏览器上)捕获用户的麦克风以进行进一步处理.我知道代码var audio_context = new AudioContext();在行上断开(如在运行之后没有代码),但没有任何错误消息因为我没有调试iOS Safari所需的mac(苹果已经死> _ <)任何人都知道发生了什么和/或如何解决它?
e:忘了提一下我查了一下,显然我在Safari中使用Web Audio API之前需要关键字"webkit",但是它var audio_context = new webkitAudioContext();也不起作用
@TomW是在正确的轨道上-基本上webkitAudioContext,除非它在用户的水龙头直接响应创建已暂停(之前你得到的流).
有关详细信息和工作示例,请参阅/sf/answers/3257386191/上的答案.