iphone 虽然支持html5的audio 但有很多限制,比如必须通过用户操作才能加载音视频文件,而
preload 属性 以及play()都是不好使的
<audio id="myAudio" src="res/bg.mp3" preload="true" loop="true" oncanplay=""></audio>
<!--微信jssdk-->
<script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
利用微信的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事件,以及等等。。。的限制。。。
本文探讨了iOS设备上HTML5 Audio标签的一些限制,例如无法自动播放和调整音量等问题,并介绍了如何利用微信JS-SDK绕过这些限制的方法。

4522

被折叠的 条评论
为什么被折叠?



