手头的任务是在浏览器中播放大量音轨:例如,16。这适用于Firefox,Microsoft Edge,但在Chrome桌面或Chrome Mobile中无效。
源代码:
<div class="audios">
<!-- repeat 16 times -->
<audio controls="true"> <source src="..." type="..."> </audio>
</div>
环境说明
预期和有效
在页面加载时,metedata以异步方式加载所有曲目,然后,当您单击每个音频元素上的播放按钮时,音频数据将被缓冲并播放。
Chrome行为
Chrome会将数据库加载最多10个元素,然后才能播放所有元素。其余音频文件的请求在“网络”选项卡中保留(pending)
。寻找,暂停和播放停顿的音频不会触发任何额外的网络活动。
我尝试过的事情
<audio>
preload
属性设置为metadata
会有趣地加载所有音轨的元数据,但是当播放所有元素时 - 其中6个会冻结在{{1}之间的某处} 0-4s
为audio.readyState
可能的原因
它可能是Chrome错误,也可能是Chrome功能,或者是文件格式限制。
有没有办法在桌面Chrome上播放超过10个音频,而无需使用网络音频API?
谢谢!