【发布时间】:2015-08-13 09:01:29
【问题描述】:
我有这个 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' 事件与音频标签相关联吗?
【问题讨论】:
标签: javascript html function audio playback