我正在播放一个小音频剪辑点击每个链接在我的导航
HTML代码:
<audio tabindex="0" id="beep-one" controls preload="auto" >
<source src="audio/Output 1-2.mp3">
<source src="audio/Output 1-2.ogg">
</audio>
JS代码:
$('#links a').click(function(e) {
e.preventDefault();
var beepOne = $("#beep-one")[0];
beepOne.play();
});
到目前为止一切正常。
问题是当一个声音剪辑已经运行,我点击任何链接没有发生。
我试图停止点击链接时已经播放的声音,但在HTML5的音频API中没有直接事件
我试着遵循代码,但它不工作
$.each($('audio'), function () {
$(this).stop();
});
有什么建议吗?
shamangeorge写道:
手动设置currentTime可以触发音频元素上的canplaythrough事件。
This is indeed what will happen, and pausing will also trigger the pause event, both of which make this technique unsuitable for use as a "stop" method. Moreover, setting the src as suggested by zaki will make the player try to load the current page's URL as a media file (and fail) if autoplay is enabled - setting src to null is not allowed; it will always be treated as a URL. Short of destroying the player object there seems to be no good way of providing a "stop" method, so I would suggest just dropping the dedicated stop button and providing pause and skip back buttons instead - a stop button wouldn't really add any functionality.