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

标签 javascript jquery html audio audio-player

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

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

jQuery:

$( function(){
   $("audio").audioPlayer();
});

图书馆

https://osvaldas.info/examples/audio-player-responsive-and-touch-friendly/audioplayer.js

我试过如下

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

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

JS Fiddle for Audio Player

最佳答案

尝试下面的代码。我已经在 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);

关于javascript - 多个音频,当前正在使用 javascript 播放时自动停止其他音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42297703/

相关文章:

javascript - 带有远程的 Jquery 验证器奇怪行为

php - 用户提交的无效数据的适当 HTTP 响应是什么?

带有 if 条件的 jQuery addClass

jquery - 如何在flexislider2中添加水平滚动条

javascript - 如何防止段落中的行被删除(Javascript替换正则表达式)

javascript - 简单的正则表达式/:[a-z]+/not working as expected in javascript

javascript - Select2 -- 占位符不显示

jquery - 如何使用 jQuery AJAX 加载跨域 html 页面?

javascript - 如何通过将值传递给输入类型来编辑 html 表值

css - 使用 LESS CSS 在父元素中选择元素