2016-04-05 63 views
10

我想在iPhone上进行现场声音分析。因此,我使用webkitAudioContext分析器来使用 。iOS上的webkitAudioContext createMediaElementSource Safari不起作用

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数组满了零。

任何人遇到过这样的问题?

在此先感谢

+0

应根据以下网址提供: http://caniuse.com/#search=AudioContext您可以在此处使用mozilla示例进行测试:https://developer.mozilla.org/en-US/docs/Web/API/AudioContext,但可能是嵌入式web视图是与浏览器版本不同的版本 –

回答

0

万一这还没有得到解决然而,根据https://caniuse.com/#search=webaudio Safari浏览器仍然不支持createMediaElementSource,所以我觉得你的运气了这里。不幸的是,Safari对WebAudio API的支持并不好。

相关问题