我想停止播放音频,但不仅要暂停它,而且我还想要,如果我重新打开它,它会从第一个开始,而不是我停止它的中间。
您无法通过jQuery对象访问媒体控件。因此,您需要在Element对象本身上调用与音频相关的方法。
使用play()
和pause()
是显而易见的,但要将时间索引设置回文件的开头,您需要使用currentTime
:
var audio = $('audio')[0]; // alternative: $('audio').get(0);
audio.pause();
audio.currentTime = 0;
audio.play();
你做了什么?这应该做你想要的。
function stop(el){
el.pause(); // Stop playing
el.currentTime = 0; // Reset time
}
这是一个工作示例,指定了id
而不是element
function stop(elementId) {
var el = document.getElementById(elementId);
el.pause(); // Stop playing
el.currentTime = 0; // Reset time
}
<audio id="myAudio" controls>
<source src="http://ccrma.stanford.edu/~jos/mp3/viola.mp3" type="audio/mpeg">
Your browser does not support the audio element.
</audio>
<br/><br/>
<button onclick="stop('myAudio')">Stop playing</button>