我有两个音频元素通过按钮的点击事件播放。如果选择了另一个,我已成功设法暂停一个,但还需要将暂停的元素设置回0.0秒(即暂停和重置)。
我知道Javascript目前没有stop()
方法,因此假设可以通过将currentTime
设置为0
来完成此操作。如果是这样,我就无法找到将此方法合并到我的代码中的最佳方法。
现在我使用$(".audio").trigger("pause");
在条件的后半部分暂停所有音频元素,这在性能上并不太高效。暂停和重置以前播放的音频文件而不是页面上的每个音频文件的最佳方法是什么?
答案 0 :(得分:0)
使用下面的代码。检查DEMO
$(function() {
$('.track-button').click(function() {
var reSet = $('.track-button').not($(this)).siblings(".audio").get(0);
reSet.pause();
reSet.currentTime = 0;
var $this = $(this),
trackNum = $this.text(),
currentAudio = $this.siblings(".audio"),
audioIsPaused = currentAudio.get(0).paused;
if (audioIsPaused) {
currentAudio.get(0).play();
} else {
currentAudio.get(0).pause();
}
});
});