多个音频,当当前正在使用javascript播放时自动停止其他

Gag*_*ags 1 html javascript audio jquery audio-player

audioplayer.js在 html5 页面上有超过 5 个音频播放器。

有没有人在 js 中有一个简单的脚本来在当前播放器播放时暂停所有其他播放器?

jQuery:

$( function(){
   $("audio").audioPlayer();
});
Run Code Online (Sandbox Code Playgroud)

图书馆

https://osvaldas.info/examples/audio-player-responsive-and-touch-friendly/audioplayer.js
Run Code Online (Sandbox Code Playgroud)

我试过如下

window.player = $('audio')[0];
$('.audioplayer-playpause').click(function () {
    if (player.paused) {
        player.play();
    } else {
        player.pause();
    }
});
Run Code Online (Sandbox Code Playgroud)

我制作了一个 jsFiddle 只是为了简化事情,下面是链接:

音频播放器的 JS Fiddle

Naj*_*hik 6

试试下面的代码。我已经在 J​​S Fiddle 中测试过它并且它正在工作:) :)

更新了JSFiddle

将此代码放入 Javascript 并删除您的代码。

document.addEventListener('play', function(e){
    // get all <audio> tag elements in the page.
    var allAudios = document.getElementsByTagName('audio');
    // Iterate through all players and pause them, except for
    // the one who fired the "play" event ("target")
    for(var i = 0; i<allAudios.length; i++){
        if(allAudios[i] != e.target){
            allAudios[i].pause();
        }
    }
}, true);
Run Code Online (Sandbox Code Playgroud)