所以iOS 11Safari应该添加对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...
}我复制粘贴了大部分代码,所以我对它只有一个粗略的了解。我知道它应该(在其他浏览器上也是这样)捕获用户的麦克风以便进一步处理。我知道var audio_context = new AudioContext();行上的代码中断了(比如,在那之后没有代码运行),但没有任何错误消息,因为我没有调试iOS Safari所需的mac (apple die已经是>_<)有人知道发生了什么和/或如何修复它吗?
e:忘了说我查过了,显然在使用Safari中的Web Audio API之前,我需要关键字"webkit“,但是把它设为var audio_context = new webkitAudioContext();也不起作用
发布于 2017-10-03 09:23:29
@TomW是在正确的轨道上-基本上webkitAudioContext是暂停的,除非它是直接响应用户的点击创建的(在你得到流之前)。
有关更多详细信息和工作示例,请参阅https://stackoverflow.com/a/46534088/933879上的我的答案。
发布于 2017-10-29 12:41:58
在移动保存到主屏应用程序上什么都不起作用。我向Apple developer发布了一份bug报告。得到的响应是重复的(这意味着他们know..no线索,如果或何时他们将实际修复它)。
https://stackoverflow.com/questions/46249361
复制相似问题