iphone 虽然支持html5的audio 但有很多限制,比如必须通过用户操作才能加载音视频文件,而
preload 属性 以及play()都是不好使的
利用微信的jssdk可以解决这个问题(至于微信是怎么实现的没有研究)
wx.config({ // 配置信息, 即使不正确也能使用 wx.ready debug: false, appId: '', timestamp: 1, nonceStr: '', signature: '', jsApiList: [] }); wx.ready(function() { var au = document.getElementById('myAudio'); //au.volume = 0;//音量设置在iphone中不起作用 au.muted = true;//先设置静音 待需要时再播放 au.play(); });
一旦加载成功 就可以正常使用play() 等函数或属性了
但是依然还有其他限制 比如 不能通过volume改变音量,onvolumechange 事件也不能用 包括用户通过控件改变音量也不会触发onvolumechange事件,以及等等。。。的限制。。。