播放由间接用户点击Android设备生成的声音

时间:2017-05-31 13:33:18

标签: javascript android html audio

我正在开发一款需要声音支持的游戏。在画布上点击,我想播放我有的4种声音中的一种。我收到一个错误(仅限于android):

Uncaught (in promise) DOMException: play() can only be initiated by a user gesture.

这似乎是因为我在画布上点击播放声音,而不是点击音频元素。什么是解决方法?

更新:

单击画布时必须播放声音,而不是单击音频元素时播放声音。可能的重复对我没有任何帮助。

HTML:
<audio id="audio-1" src="/sounds/r1.wav"></audio>
<audio id="audio-2" src="/sounds/r2.wav"></audio>
<audio id="audio-3" src="/sounds/r3.wav"></audio>
<audio id="audio-4" src="/sounds/r4.wav"></audio>

JS:

function setupSound() {
        sound1 = $("#audio-1")[0];
        sound2 = $("#audio-2")[0];
        sound3 = $("#audio-3")[0];
        sound4 = $("#audio-4")[0];
    }

function playSound(){
        var randomSound = getRandomInt(0,3);
        switch (randomSound){
            case 0:
                sound1.play();
                break;
            case 1:
                sound2.play();
                break;
            case 2:
                sound3.play();
                break;
            case 3:
                sound4.play();
                break;
            default:
                //console.log("NONE");
                break;
                           }

}



//I use PIXI.js
    app.stage.on('pointerdown', function () {
        playSound();

)};

0 个答案:

没有答案