无法在Chrome Android上播放HTML音频元素(除非静音,否则没有进度)



我发布这篇文章是为了防止其他人出现类似问题。

我有一个使用<audio>元素的web应用程序。当用户单击按钮时,我将<audio>元素上的src属性设置为mp3文件的URL,然后调用.load((,然后调用.play((。play((方法的Promise可以正确解析。

在网络上,这个工作,我听到音乐。在Android Chrome上,音频没有播放:

  • 播放/暂停控件显示暂停图标(表示音频元素认为正在播放(
  • 赛道上的进展在零点开始时一直停滞不前
  • 如果我静音元素,则曲目开始播放
  • 如果我只是在Chrome浏览器中浏览mp3文件的URL,音频就会加载,我就可以播放这首歌了

有人知道为什么吗?

经过一系列的尝试和调试,我突发奇想,终于删除了一些我计划在音频上下文/图形周围进行实验的代码:

const audioCtx = new AudioContext();
const sourceNode = audioCtx.createMediaElementSource(this.audioElem);

去掉这些线后,<audio>元素发挥得很好!

最新更新