在HTML5中播放循环音频非常简单:
<html>
<head></head>
<body>
<audio controls autoplay loop>
<source src="../media/audio/timer.ogg" type="audio/ogg" />
<source src="../media/audio/timer.mp3" type="audio/mpeg" />
</audio>
</body>
</html>
好吧,这在Firefox上不起作用,但也有一些技巧。这个例子适用于Safari和Chrome,但这不是问题所在。问题是,我正在使用jQuery的load()方法在某个div上加载相同的代码:$('#mydiv').load(url,function()和{..});
当加载这段HTML代码时,div被显示出来,音频文件被正确地听到(自动播放)……但是它不会循环!虽然它在上面看到的小html示例上循环,但来自AJAX调用的相同代码根本不会循环。我知道它就在那里,在DOM里。我是不是遗漏了什么?
发布于 2012-01-24 14:11:46
另一种方法是在发生onended
事件时删除loop
属性并重置新<audio>
元素的currentTime
属性。一个简单的jquery示例可以像这样:
/* make ajax call and append audio element */
$('audio').on('ended', function() {
this.currentTime = 0;
});
这样,每当他重写结尾时,音频都会自动重启(这种行为几乎与本机循环相同)。
https://stackoverflow.com/questions/8987581
复制