【发布时间】:2012-12-24 06:06:38
【问题描述】:
我正在尝试弄清楚如何使用 jquery 连续播放随机音频片段,而不会让它们在 HTML 页面上重叠。我有在计时器上播放随机声音片段的代码,但有时它们会重叠,有时声音之间会有停顿。我查看了ended 和其他事件监听器,但我真的不知道我在做什么。这是我的代码的一部分:
<html>
<audio id="audio1">
<source src="cnn.mp3"></source>
</audio>
<audio id="audio2">
<source src="sonycrackle.mp3"></source>
</audio>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('audio').each(function(){
this.volume = 0.6;
});
var tid = setInterval(playIt, 2000);
});
function playIt() {
var n = Math.ceil(Math.random() * 2);
$("#audio"+n).trigger('play');
};
有没有办法在上一个声音播放后立即连续播放这些声音? FWIW 我有很多声音片段,但我只是在上面显示两个以供参考。
【问题讨论】:
-
当人们要求 jQuery 时,我喜欢它。介意我给你一个纯 JS 的答案吗?
-
嘿@Khez,那太棒了,我真的很感激。
-
@Khez 你太烂了,没有足够的 jQuery。 i.stack.imgur.com/ssRUr.gif
-
@Shmiddty aww 伙计,几个月前我失去了那个链接,+1 还给它:D
标签: javascript jquery html audio event-listener