多个声音彼此重叠<audio> </audio>

时间:2014-03-04 01:32:13

标签: javascript jquery html5

我正在播放音频文件,但是当我点击#messageCenter区域内的任何其他文件时,我需要停止任何其他声音。里面没有isPlaying参数是否容易做到这一点? Stack中唯一的另一个参考是游戏插件。

$("#messageCenter area").on( "click", function() {
        var source = "assets/audio/" + $(this).attr('id') + ".wav";
        var audio = $('#audio');
        var sound = new Audio(source);
        sound.play();
});

1 个答案:

答案 0 :(得分:2)

尝试以下代码(抱歉,我没有测试过):

$("#messageCenter area").on( "click", function() {
    var audio = $('#audio'); 
    var lastSound = audio.data('lastSound');
    if (lastSound) lastSound.pause();

    var source = "assets/audio/" + $(this).attr('id') + ".wav";
    var sound = new Audio(source);
    sound.play();

    audio.data('lastSound', sound);
});