【发布时间】:2016-04-05 15:07:04
【问题描述】:
我想在 iPhone 上进行现场声音分析。为此我使用 webkitAudioContext 分析器。
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);
这在 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">
如果不将站点添加到主屏幕,它将无法在 Safari 上运行。 使用嵌入 iOS wkwebview 的站点时,它不起作用。这就是我想要达到的目标。 不工作时,frequencyData 数组全为零。
有人遇到过这种问题吗?
提前致谢
【问题讨论】:
-
应该可以根据:caniuse.com/#search=AudioContext 在这里使用 mozilla 示例进行测试:developer.mozilla.org/en-US/docs/Web/API/AudioContext 但可能是嵌入式 Web 视图与浏览器版本不同
标签: javascript ios audio webkit webkitaudiocontext