您的位置:首页 > 移动开发

移动端audio使用的一个注意事项

2015-02-11 18:59 218 查看
这几天做移动端的音乐播放,果然是踩坑不断呀!

其中一个就是,做好的播放功能,在pc上可用,在手机上的壳子浏览器可用,可偏偏在原生浏览器和chrome上不行。

折腾了好久(主要还是移动端的调试真心不方便呀),最终定位到问题是:

移动端一个audio对象的第一次播放,必须是一个用户触发的行为。

至少在我目前4.3的三星s4的原生浏览器和chrome31上是这样的,相信在以后的版本上也会是这样。

所以对于异步获取播放的资源链接再进行播放的实现,在这两个浏览器上就会失效。

解决方法:

既然不能异步,最简单的方法就是换成同步呗。当然,这对于项目来说是不现实的……

上面提到,这个限制对于同一个audio对象,只在其初次播放时需要用户行为触发,之后就可以随心所欲的操作了。

所以我所用的方法就是:

全局使用同一个audio对象,并且在用户第一次点播放的时候,在同步阶段,用一个空的音乐(没有声音,播放时长1s)先进行播放,等获取到异步结果后再进行src的替换就行了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: