我设置了一个包含节点的HTML5页面。 页面将播放音乐(mp3格式),但它只是播放声音结束,并且我使用javascript来控制音频元素,即使如此,我也无法播放它,只能停止。HTML音频元素如何重播?
HTML5音频元素是否支持REPLAY?以及如何?
我设置了一个包含节点的HTML5页面。 页面将播放音乐(mp3格式),但它只是播放声音结束,并且我使用javascript来控制音频元素,即使如此,我也无法播放它,只能停止。HTML音频元素如何重播?
HTML5音频元素是否支持REPLAY?以及如何?
请详细阅读本
和重播事件
您可以设置选项,在重播点击
audioElement.currentTime=0;
audioElement.play();
你可以试试这个:
<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>
上述建议并没有为我或者不适用的工作。当我的代码需要这样做时,我需要重播声音。
下面的代码工作(至少铬):
audioElement.setAttribute( 'SRC',audioSrc); audioElement.play();
换句话说,重新设置src属性,然后播放()做的工作
这是行得通的,但每次都会对声音库发出新的请求。 – valkirilov
@valkirilov但它适用于https://code.google.com/p/chromium/issues/detail?id=121765 – user7610
如果托管视频不支持查找客户端(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
不使用node.load()
这样的方式,对于慢速设备太慢。
要停止,您应该只使用:
node.currentTime = 0
要重播,你可以这样做:
node.currentTime = 0
node.play()
这不适用于每个浏览器。 '。load()'然后'.play()'总能正常工作,但它可能会使用更多的数据... – Basj