基于ios无法播放的问题
Posted 伶丶AM
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于ios无法播放的问题相关的知识,希望对你有一定的参考价值。
由于做大富翁游戏,需要背景音乐,幸好是在原基础上改,但是问题在于在ios上面的音乐无法播放,即.play()无效,然后我上网找了一段代码
function audioAutoPlay(id){ var audio = document.getElementById(id), play = function(){ audio.play(); document.removeEventListener("touchstart",play, false); }; audio.play(); document.addEventListener("WeixinJSBridgeReady", function () { play(); }, false); document.addEventListener("touchstart",play, false); } audioAutoPlay(‘audio_bg‘);
这段加上以后,背景音乐就可以加载完页面自动播放了,但是还有一个问题,原本页面里面的.play()会出现叠音,即,无论点什么按钮都会执行骰子的声音。这只能去掉上面的用法了。
后来我在一个地方看到,ios的音乐需要触发开关,我就单独给骰子的按钮加个判断,来执行音乐,这时候的.play()可以执行。
后来他们加需求,失败和答对也加音效,因为要调用ajax,也不知道是不是因为点击事件的问题,这里的.play()可以执行,但是后面的抽奖里面的.play()居然不执行,狗币!!!
经过多次测试,在我一次答错,重新答题的时候,发现抽奖失败可以调用了(因为答题错误和没抽到奖同一个音效),然后我就思考是不是因为要先预调用一次。
audio有个参数是静音(muted),我在骰子的里面加上静音,然后调用所有的音效,这样就全部都可以一开始就调用了,后面需要声音的就取消静音(用Prop可以解决)!
以上是关于基于ios无法播放的问题的主要内容,如果未能解决你的问题,请参考以下文章