移动iOS浏览器上的网络音频API问题

时间:2019-04-05 02:50:37

标签: javascript ios reactjs audio web-audio

我正在使用Web Audio API处理音频流-我的服务器在前端提供音频流和React客户端。

代码从HTML音频元素创建AnalyserNode,然后将音频数据从getByteTimeDomainData发送到各种可视化组件。但是,在移动iOS设备上,该数据是完整的128个数组-仅保持沉默。音频本身可以正常播放,但是由于数据不存在,因此所有可视化都无法正常工作。

在PC,Macbook和Android手机上,一切似乎都对我有用。唯一无法使用的地方是在移动iOS设备上。

我已经检查过的东西:

  • 没有控制台错误

  • 我所有的音频上下文内容都在用户手势的调用堆栈中设置

  • 音频上下文处于“运行”状态,未暂停

  • 可在非iOS设备的Chrome和Firefox上正常运行

  • 不适用于任何移动iOS设备的Chrome或Safari

该项目已部署到https://blackwright.github.io/ltly/,并且可以在https://github.com/blackwright/ltly看到源代码

具体而言,可以在以下位置找到用于设置音频上下文的代码:

https://github.com/blackwright/ltly/blob/master/src/App.tsx#L54

从AnalyserNode传递数据的代码可以在以下位置找到:

https://github.com/blackwright/ltly/blob/master/src/components/Analyser/index.tsx#L31

0 个答案:

没有答案