首页 > 代码库 > 基于ios无法播放的问题
基于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无法播放的问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。