Javascript 暂停/重置其他音频时播放选定音频
我有两个音频元素,通过按钮的点击事件播放。如果选择了另一个元素,我成功地暂停了一个元素,但还需要将暂停的元素设置回0.0秒(即暂停和重置) 我知道Javascript目前没有一个Javascript 暂停/重置其他音频时播放选定音频,javascript,jquery,html,events,audio,Javascript,Jquery,Html,Events,Audio,我有两个音频元素,通过按钮的点击事件播放。如果选择了另一个元素,我成功地暂停了一个元素,但还需要将暂停的元素设置回0.0秒(即暂停和重置) 我知道Javascript目前没有一个stop()方法,该方法假定可以通过将其currentTime设置为0来实现。如果是这样的话,我就无法找到将此方法合并到代码中的最佳方法 现在我正在使用$(.audio”).trigger(“pause”)暂停条件的后半部分中的所有音频元素这在性能方面不太有效。暂停和重置以前播放的音频文件而不是页面上的每个文件的最佳方法
stop()
方法,该方法假定可以通过将其currentTime
设置为0
来实现。如果是这样的话,我就无法找到将此方法合并到代码中的最佳方法
现在我正在使用$(.audio”).trigger(“pause”)暂停条件的后半部分中的所有音频元素代码>这在性能方面不太有效。暂停和重置以前播放的音频文件而不是页面上的每个文件的最佳方法是什么
使用以下代码。检查
你昨天问了同样的问题,然后删除。我已经创建了这个的演示。你有昨天的小提琴链接吗??我的演示也很有效,我在发布后很快意识到我想出了一个解决方案。这个问题更多地涉及将以前选择的音频的currentTime
重置为0
。您现在使用的代码会暂停音频,但不会重置时间。在您的小提琴中,第3行还有一个额外的
。是的,我将更新并删除该
。唯一剩下的就是将其他音频重置为0
对吗?是的,谢谢!我能再问一个问题吗。出于好奇,我试着在曲目开始和结束时减弱音频。出于某种原因,它只在第一次单击时执行音量增大/减小。你知道为什么吗?我不想继续问我的问题,但如果需要,我可以更新它或只是创建另一个:意味着我无法理解你的问题你所说的“淡入淡出”是什么意思??
$(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();
}
});
});