Javascript 如何获取字节频率数据以在iOS上工作
我有一个非常讨厌的iOS错误(并不奇怪)。我正在尝试制作一个非常基本的音频分析器脚本,以便在播放时拾取音频的频率/级别 它可以在桌面、chrome、safari上使用。在移动iOS上,音频工作,但频率数据返回0 代码笔:Javascript 如何获取字节频率数据以在iOS上工作,javascript,ios,audio,mobile,Javascript,Ios,Audio,Mobile,我有一个非常讨厌的iOS错误(并不奇怪)。我正在尝试制作一个非常基本的音频分析器脚本,以便在播放时拾取音频的频率/级别 它可以在桌面、chrome、safari上使用。在移动iOS上,音频工作,但频率数据返回0 代码笔: 函数playAudio(){ console.log('播放音频') 音频=document.getElementById(“audioPiece”); context=newaudiocontext() Analyzer=context.createAnalyzer(); s
函数playAudio(){
console.log('播放音频')
音频=document.getElementById(“audioPiece”);
context=newaudiocontext()
Analyzer=context.createAnalyzer();
source=context.createMediaElementSource(音频);
源。连接(分析仪);
source.connect(context.destination);
分析器.连接(上下文.目的地);
音频播放();
var frequencyData=新的UINT8阵列(分析仪频率B计数);
函数绘图(){
if(context.currentTime
}
我无法让音频在codepen上跨原点工作,所以直接链接
有没有解决这个问题的办法/方法,使它可以在平板电脑/iphone上运行?非常感谢
function playAudio() {
console.log('play audio')
audio = document.getElementById("audioPiece");
context = new AudioContext()
analyser = context.createAnalyser();
source = context.createMediaElementSource(audio);
source.connect(analyser);
source.connect(context.destination);
analyser.connect(context.destination);
audio.play();
var frequencyData = new Uint8Array(analyser.frequencyBinCount);
function draw() {
if (context.currentTime < audio.duration) {
drawVisual = requestAnimationFrame(draw);
}
analyser.getByteFrequencyData(frequencyData);
var getData = (frequencyData[8] * 100) / 256 - 30;
console.log(frequencyData[8]);
playButton.innerHTML = "draw" + getData;
}
draw();