HTML5 -如何在另一个音频标签开始播放时停止音频
HTML5 - how to stop audio when another audio tag starts playing?
我有这个javascript函数:
var currentPlayer;
function EvalSound(soundobj) {
var thissound = document.getElementById(soundobj);
if (currentPlayer && currentPlayer != thissound) {
currentPlayer.pause();
}
if (thissound.paused) {
thissound.play();
} else {
thissound.pause();
}
thissound.currentTime = 0;
currentPlayer = thissound;
}
这个html5音频播放器在Yii2的Gridview小部件内循环重复(它创建了许多播放器,每个播放器都有不同的歌曲):
'value'=> function ($data){
return "<audio controls>
<source src='" . $data->ficheiro . "' type='audio/mp3' />
</audio>";
},
问题是,当我有一个音频标签播放,并点击另一个播放按钮,它不会停止以前播放音频标签,并开始新的。两个音频标签同时播放。我试图适应javascript函数,但它不工作。
我也尝试声明var thisound = $('audio');
它也不工作
我需要在音频标签中添加ID吗?我需要将onClick='EvalSound'
事件关联到音频标签吗?
好的,我是这样解决的:
addEventListener
捕获音频开始播放,for
循环暂停所有其他音频标签。
document.addEventListener('play', function(e) {
var audios = document.getElementsByTagName('audio');
for (var i = 0, len = audios.length; i < len; i++) {
if (audios[i] != e.target) {
audios[i].pause();
}
}
}, true);
您没有唯一的方法来标识<audio>
标记。使用通用的$("audio")
选择器会使问题变得更糟。使用id
的所有标签,并使其工作方式
相关文章:
- 动态加载的自定义javascript/jQuery/HTML5音频播放器的问题
- Javascript::通过HTML5音频播放器播放列表播放多个音频文件
- HTML5、CSS3和/或JS中旋转CD上的音频播放器
- 想制作一个基于URL的音频播放器,但Javascript不起作用
- 多个音频播放器和 Web 音频 API
- 创建一个只有播放和暂停的Javascript音频播放列表
- HTML5音频播放器只有在双击后才能在移动浏览器上播放
- 为什么我的代码使用javascript与html5音频播放器可以'Don’我不能做两个或两个以上
- 如何用一个html5音频播放器播放多个音频文件
- 需要帮助修复我的javascript"对于循环“;播放音频播放列表
- JS音频播放器,点击列表项即可播放
- HTML5+Javascript音频在音频播放的特定时间触发事件
- 自动播放音频播放列表SoundManager2 bar ui
- jQuery:支持几乎所有格式的音频播放器
- 制作一个html5音频播放列表,自动播放一首又一首歌曲
- 如何在 javascript 中为推送通知提供音频播放文件路径
- 从我自己的按钮启动音频播放器
- 浏览器内音频播放器如何工作
- 如果未找到动态音频 src 或为 null,请使用 javascript 隐藏 HTML5 音频播放器
- 在HTML音频播放器中切换播放/暂停按钮