首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用AJAX加载div内容时HTML5音频不循环

使用AJAX加载div内容时HTML5音频不循环
EN

Stack Overflow用户
提问于 2012-01-24 21:26:16
回答 1查看 1.5K关注 0票数 0

在HTML5中播放循环音频非常简单:

代码语言:javascript
代码运行次数:0
运行
复制
<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里。我是不是遗漏了什么?

EN

回答 1

Stack Overflow用户

发布于 2012-01-24 22:11:46

另一种方法是在发生onended事件时删除loop属性并重置新<audio>元素的currentTime属性。一个简单的jquery示例可以像这样:

代码语言:javascript
代码运行次数:0
运行
复制
/* make ajax call and append audio element */
$('audio').on('ended', function() {
   this.currentTime = 0;
});

这样,每当他重写结尾时,音频都会自动重启(这种行为几乎与本机循环相同)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8987581

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档