iOS上的webkitAudioContext createMediaElementSource无法正常工作

fox*_*fox 12 javascript audio webkit ios webkitaudiocontext

我想在iPhone上进行现场声音分析.因此我使用webkitAudioContext Analyzer.

var ctx = new (window.AudioContext || window.webkitAudioContext);
var audioGoodmorning = new Audio('assets/sounds/greeting.m4a');
var audioSrc = ctx.createMediaElementSource(audioGoodmorning);
var analyser = ctx.createAnalyser();

analyser.fftSize = 32;
audioSrc.connect(analyser);
audioSrc.connect(ctx.destination);
var frequencyData = new Uint8Array(analyser.fftSize);

analyser.getByteFrequencyData(frequencyData);
Run Code Online (Sandbox Code Playgroud)

这适用于Mac上的Chrome.当将网站添加到主屏幕时,它也适用于Safari

<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-title" content="CHAR">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport">
Run Code Online (Sandbox Code Playgroud)

如果没有将网站添加到主屏幕,它在Safari上不起作用.使用嵌入iOS wkwebview的网站时,它不起作用.这就是我想要实现的目标.不工作时,frequencyData数组充满零.

有没有经历过这种问题的人?

提前致谢

小智 -3

以防万一这个问题还没有解决,根据https://caniuse.com/#search=webaudio Safari 仍然不支持createMediaElementSource,所以我认为你在这里运气不好。不幸的是,Safari 对 WebAudio API 的支持不是很好。