HTMLAudioElement: Audio() 建構函式
Audio() 建構函式建立並返回一個新的 HTMLAudioElement 物件,該物件可以附加到文件以供使用者互動和/或收聽,也可以離屏使用以管理和播放音訊。
語法
js
new Audio()
new Audio(url)
引數
url可選-
一個可選字串,包含要與新音訊元素關聯的音訊檔案的 URL。
返回值
一個新的 HTMLAudioElement 物件,配置為從 url 指定的檔案播放音訊。新物件的 preload 屬性設定為 auto,其 src 屬性設定為指定的 URL,如果沒有提供 URL 則設定為 null。如果指定了 URL,瀏覽器會在返回新物件之前開始非同步載入媒體資源。
用法說明
您也可以使用其他元素建立方法,例如 document 物件的 createElement() 方法來構造一個新的 HTMLAudioElement。
確定何時可以開始播放
有三種方法可以確定音訊檔案已載入足夠的資料以開始播放:
- 檢查
readyState屬性的值。如果它是HTMLMediaElement.HAVE_FUTURE_DATA,則有足夠的資料可供開始播放,並能至少播放一小段時間。如果它是HTMLMediaElement.HAVE_ENOUGH_DATA,則有足夠的資料,根據當前的下載速率,您應該能夠無中斷地將音訊播放到最後。 - 監聽
canplay事件。當有足夠的音訊可供開始播放時,該事件會發送到<audio>元素,但可能會發生中斷。 - 監聽
canplaythrough事件。當估計音訊應該能夠無中斷地播放到最後時,會發送此事件。
基於事件的方法是最好的
js
myAudioElement.addEventListener("canplaythrough", (event) => {
/* the audio is now playable; play it if permissions allow */
myAudioElement.play();
});
記憶體使用和管理
如果使用 Audio() 建構函式建立的音訊元素的所有引用都被刪除,如果當前正在播放音訊,JavaScript 執行時垃圾回收機制不會將該元素本身從記憶體中刪除。相反,音訊將繼續播放,物件將保留在記憶體中,直到播放結束。屆時,物件將可被垃圾回收。
規範
| 規範 |
|---|
| HTML # dom-audio-dev |
瀏覽器相容性
載入中…