码迷,mamicode.com
首页 > 移动开发 > 详细

基于ios无法播放的问题

时间:2017-06-01 12:07:36      阅读:303      评论:0      收藏:0      [点我收藏+]

标签:div   read   func   问题   weixin   取消   audio   基于   自动   

由于做大富翁游戏,需要背景音乐,幸好是在原基础上改,但是问题在于在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无法播放的问题

标签:div   read   func   问题   weixin   取消   audio   基于   自动   

原文地址:http://www.cnblogs.com/Amcc/p/6928004.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!