大佬教程收集整理的这篇文章主要介绍了javascript – HTML5音频对象无法在iPad上播放(从setTimeout调用时),大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
// Works fine on all browsers constructor: (@_button,@_audio) -> @_button.on 'click',@_play // Bind button's click event with jQuery _play: (E) => @_audio[0].play() // Call play() on audio element
当从绑定到click事件的函数触发时音频播放正常,但我实际上想要在播放文件之前完成动画,所以我将.play()放在setTimeout中.但是,我无法让这个工作:
// Will not play on iPad constructor: (@_button,@_play // Bind button's click event with jQuery _play: (E) => setTimeout (=> // Declare a 300ms timeout @_audio[0].play() // Call play() on audio element ),300
我已经检查过@_audio(this._audio)是否在范围内,并且它的play()方法存在.为什么这不适用于iPad?
编辑:实际上,上面的简化测试用例确实有效.请参阅下面的@apsillers的回答以及我对它的评论.
尽管setTimeout()本身位于用户启动的函数中,但似乎您的setTimeout()回调不符合用户启动的操作.
建议:我没有要测试的iOS设备,但是当用户按下按钮时可能正在进行初始播放/暂停将减轻此限制.也就是说,你调用play()然后立即暂停它,然后使用play()调用调用animate和setTimeout()函数.这使得用户启动的功能让iOS知道将来加载和播放此视频是可以的.
以上是大佬教程为你收集整理的javascript – HTML5音频对象无法在iPad上播放(从setTimeout调用时)全部内容,希望文章能够帮你解决javascript – HTML5音频对象无法在iPad上播放(从setTimeout调用时)所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。