前端常见兼容性问题系列7: 部分浏览器不支持音频自动播放
1、问题又来了
曾做一个活动页,需要打开页面时自动播放一小段背景音乐。因为音乐持续时间非常短,所以设计这个页面时,没想要设置一个播放控制按钮。一开始我也以为确实没有必要。开发中,用我的老古董机器小米2S测了也没发现啥问题。 但是,用iOS机器测试时,问题就来了,有的平台中可以听到背景音乐(如iOS中的支付宝),有的则始终出不来(如iOS 中的Safari浏览器)。用JavaScript来load音频,再自动触发音频的play()方法,也没有效果。
2、定位问题、查找原因
Google一番发现原来是iOS 4.2.1之后,Safari浏览器中禁止了音频的自动播放,必须在得到用户手动允许(比如触摸屏幕,单击按钮等)的情况下,才能播放音频——也就是说,iOS 4.2.1之后的Safari中, 如果没有得到用户的手动允许,即便对audio标签设