我设置了一个HTML5页面,其中包含一个节点。 该页面将播放音乐(mp3格式),但它只是播放声音结束,我使用javascript来控制音频元素,即便如此,我也无法重播它,只能停止。
HTML5音频元素是否支持REPLAY?怎么样?
答案 0 :(得分:19)
请阅读本文
和重播事件
您可以在重播上点击
设置选项audioElement.currentTime=0;
audioElement.play();
答案 1 :(得分:3)
上述建议对我不起作用或不适用。当我的代码需要时,我需要重放声音。
以下代码有效(至少是chrome):
audioElement.setAttribute('src',audioSrc); audioElement.play();
换句话说,再次设置src属性,然后play()完成了工作
答案 2 :(得分:2)
html5音频元素有一个循环属性,将其设置为loop = loop
答案 3 :(得分:2)
如果托管视频的服务器不支持在客户端上搜索(HTTP RangeRequest),则命令
audioElement.currentTime=0;
来自@ JapanPro的答案在Chromium中被默默地忽略了。此行为将填充为crbug #121765。
有一个handy guide on MDN how to configure your server可以玩得很好。但如果你做不到,我就成功了
audioElement.load();
毫不奇怪地重新加载音频源并寻求起始作为副作用。不太好,但它很直观,而且很有效。
来源:http://www.whatwg.org/specs/web-apps/current-work/#loading-the-media-resource
答案 4 :(得分:0)
你可以试试这个:
<audio id="audiotag1" src="audio/flute_c_long_01.wav" preload="auto"></audio>
<a href="javascript:play_single_sound();">Play 5-sec sound on single channel</a>
<script type="text/javascript">
function play_single_sound() {
document.getElementById('audiotag1').play();
}
</script>
答案 5 :(得分:0)
不要使用node.load()
这对慢速设备来说太慢了。
要停止,您应该使用:
node.currentTime = 0
要重播,你可以这样做:
node.currentTime = 0
node.play()
答案 6 :(得分:0)
使用:
audio.pause() // important!!!
audio.currentTime = 0
audio.play()
答案 7 :(得分:0)
在HTML5中,您只需设置audioElement.loop='true';