MDN 說:
當處理暫停活動的請求并且活動已進入暫停狀態時,將發送暫停事件,最常見的是在通過呼叫元素的 pause() 方法暫停媒體之后。
但是如果音頻停止是因為它停止了,或者在一個結束的事件上。
它還會觸發pause
事件嗎?stalled
或者我也應該對and執行操作ended
?
uj5u.com熱心網友回復:
音頻暫停事件
答案是 pause 事件僅在pause()
呼叫方法之后或在ended
orseeking
事件之前發出。當軌道位置改變時會發生搜索事件,這會導致播放器在暫停和播放之間切換。
stalled
暫停事件不會在or事件之后發出,waiting
因為音頻仍處于播放狀態。此外,當更改音頻 src 時,它會停止播放器,但不會發出暫停事件。
w3.org事件規范沒有提供太多細節,實作可能因瀏覽器而異。
運行代碼片段以監視瀏覽器上的音頻事件。
"audioprocess,canplay,canplaythrough,complete,durationchange,emptied,ended,loadeddata,loadedmetadata,pause,play,playing,ratechange,seeked,seeking,stalled,suspend,timeupdate,volumechange,waiting".split(",").forEach(name => {
player.addEventListener(name, (e) => monitor.innerHTML= e.timeStamp.toFixed(2) ": " e.type "\n" monitor.innerHTML);
});
<small>Click the audio controls to monitor events:</small><br/>
<audio id="player" controls preload="false" src="http://commondatastorage.googleapis.com/codeskulptor-assets/Epoq-Lepidoptera.ogg" type="audio/ogg">
</audio>
<textarea id="monitor" rows=6 style="width:100%"></textarea>
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/469315.html
標籤:javascript html 声音的