【问题标题】:Javascript stop and play different soundsJavascript 停止并播放不同的声音
【发布时间】:2017-01-11 23:44:31
【问题描述】:

我正在用 3 个按钮播放 3 种不同的 mp3 声音的 javascript 构建一个简单的网络应用程序。我有点坚持逻辑。如果我播放按钮 1 然后按钮 2 我需要声音 1 来停止并播放声音 2。我该怎么做?

我的代码:

Javascript:

function playSound(el, soundfile) {
    if (el.mp3) {
        if(el.mp3.paused) el.mp3.play();
        else el.mp3.pause();
    } else {
        el.mp3 = new Audio(soundfile);
        el.mp3.play();
    }
}

HTML:

<a class="btn" onclick="playSound(this, 'sounds/sound-1.mp3');">sound 1</a>
<a class="btn" onclick="playSound(this, 'sounds/sound-2.mp3');">sound 2</a>
<a class="btn" onclick="playSound(this, 'sounds/sound-3.mp3');">sound 3</a>

提前致谢

【问题讨论】:

    标签: javascript html5-audio


    【解决方案1】:

    将播放的音频存储在一个数组中:

    var playing=[];
    
    //when played
    playing.push(el.mp3);
    

    现在你可以让整个数组静音了:

    playing.forEach(el=>el.pause());
    playing=[];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多