Javascript 从a点到b点的html5音频循环

Javascript 从a点到b点的html5音频循环,javascript,html,audio,Javascript,Html,Audio,据报道, html5音频具有以下属性: 循环 指示音频数据是否应在循环中播放。默认值为false loopStart 如果循环属性为true,则循环开始的可选值(以秒为单位)。其默认值为0,可以将其设置为0和缓冲区持续时间之间的任何值 loopEnd 以秒为单位的可选值,如果循环属性为true,循环应结束。其默认值为0,可以将其设置为0和缓冲区持续时间之间的任何值 我试图循环一段音频文件,例如从第5秒到第8秒 我尝试了许多组合,包括使用/不使用: #t=url参数| DOM|中的loopstar

据报道,

html5音频具有以下属性:

循环 指示音频数据是否应在循环中播放。默认值为false

loopStart 如果循环属性为true,则循环开始的可选值(以秒为单位)。其默认值为0,可以将其设置为0和缓冲区持续时间之间的任何值

loopEnd 以秒为单位的可选值,如果循环属性为true,循环应结束。其默认值为0,可以将其设置为0和缓冲区持续时间之间的任何值

我试图循环一段音频文件,例如从第5秒到第8秒

我尝试了许多组合,包括使用/不使用: #t=url参数| DOM|中的loopstart/loopend属性 循环属性

到目前为止没有任何效果(chrome浏览器)。也许这些属性还不受支持。我试图避免使用javascript设置音频的当前时间

HTML

<audio controls="" src="http://www.tonycuffe.com/mp3/tail%20toddle.mp3#t=5,8"        loopstart="5" loopend="8" loop></audio>
<audio id="music" controls ontimeupdate="audio()">
<source src="http://www.tonycuffe.com/mp3/tail%20toddle.mp3" type="audio/mp3">
<audio>

我看过: 和 试试这个

JS

function audio() { if (document.getElementById("music").currentTime >= 8) {document.getElementById("music").currentTime = 5} } 函数音频(){ 如果(document.getElementById(“music”).currentTime>=8){document.getElementById(“music”).currentTime=5} } HTML

<audio controls="" src="http://www.tonycuffe.com/mp3/tail%20toddle.mp3#t=5,8"        loopstart="5" loopend="8" loop></audio>
<audio id="music" controls ontimeupdate="audio()">
<source src="http://www.tonycuffe.com/mp3/tail%20toddle.mp3" type="audio/mp3">
<audio>


对于比简单的播放/停止更复杂的所有音频操作,请尝试Web audio API,而不是实际上,我只是在阅读。太棒了。据我所知,web音频api使用ajax加载音频资源。这就限制了我们在同一个域上使用资源,或者在coors支持下使用资源。据我所知,它受到相同的CORS限制。可以使用XMLHttpRequest for audiocontextAha加载,但不能使用XMLHttpRequest加载。很高兴知道,谢谢!您是否介意解释一下为什么会回答这个问题?无论何时调用“ontimeupdate”,它都会调用函数“audio()”,该函数将自动将音频重置为5。这将在固定点(5到8)之间循环。如果需要jquery,您可以重新编写它,以便用变量替换8和5,它可以是--$(“#music”).bind('timeupdate',audio);