美文网首页
移动端Chrome Audio问题

移动端Chrome Audio问题

作者: 勿以浮沙筑高台 | 来源:发表于2017-04-01 12:47 被阅读653次

错误信息:
Uncaught (in promise) DOMException: play() can only be initiated by a user gesture.

问题描述:
有一个这样的用户需求:用户点击播放按钮后,获取播放资源路径然后再播放音乐。
通过异步网络请求 (axios、XMLHttpRequest) 获取到资源后调用 audio.play() 得到上面的错误信息。

问题原因
移动端播放音频视频必须是经过用户的操作才能执行;如果异步操作超过1000毫秒, 就会抛出上面的异常, 浏览器就不会把这个操作认为是来自用户的操作。

解决方案
使用 xhr 同步请求代替一步请求:

 xhr.open('GET', URL, false);

相关文章

网友评论

      本文标题:移动端Chrome Audio问题

      本文链接:https://www.haomeiwen.com/subject/ixjiottx.html