基于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无法播放的问题的主要内容,如果未能解决你的问题,请参考以下文章

iOS,AVPlayer - 循环播放 MP3 片段

无法对非静态方法 getAssets() 进行静态引用 - 无法在片段中播放音频

iOS 中无法播放声音 - 不是源代码问题

依次播放多个音频片段

挣扎于 Youtube 播放器支持片段

IOS AVPlayer 无法播放视频