我发布这篇文章是为了防止其他人出现类似问题。
我有一个使用<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>
元素发挥得很好!