<dfn id="phrr9"><dfn id="phrr9"><meter id="phrr9"></meter></dfn></dfn>

      <form id="phrr9"></form>

            HTML5 audio 屬性和方法

            文章熱詞:audio

            日期:2019-03-04 09:40 by Mr. Yang 2479 0 收藏
            我要分享

            摘要:HTML5 規定了一種通過 audio 元素來包含音頻的標準方法。audio 元素能夠播放聲音文件或者音頻流。

            屬性:

            ? ? src:必需,音頻來源;

            ? ? controls:常見,設置后顯示瀏覽器默認的audio控制面板,不設置默認隱藏audio標簽;

            ? ? autoplay:常見,設置后自動播放音頻(移動端不支持);

            ? ? loop:常見,設置后音頻將循環播放;

            ? ? preload:常見,設置音頻預加載(移動端不支持);

            ? ? volume:少見,設置或返回音頻大小,值為0-1之間的一個浮點數(移動端不支持);

            ? ? muted:少見,設置或返回靜音狀態;

            ? ? duration:少見,返回音頻時長;

            ? ? currentTime:少見,設置或返回當前播放時間;

            ? ? paused:少見,返回當前播放狀態,是否暫停;

            ? ? buffered:少見,一個TimeRanges對象,包含已緩沖的時間段信息,即加載進度。該對象包含一個屬性length,返回一個從0開始的數表示當前緩沖了多少段音頻;還包含兩個方法,start()、end(),分別需要傳入一個參數,即傳入音頻已加載的第幾段,從0開始。start()返回該段的起始時間,end()返回該段的終點時間。舉例:即傳入0,第一段的起始是0,終止時間是17,單位秒;

            ? ? 屬性就介紹到這里,可能還有一些比較少用的屬性如:playbackRate等,在視頻播放中可能會用到,我就暫不講解。

            方法:

            ? ? play():開始播放音頻;

            ? ? pause():暫停播放音頻;

            ? ? 事件:

            ? ? canplay:當前音頻可以開始播放(只加載了部分buffered,并未全部加載完成);

            ? ? canplaythrough:可以無停頓播放(即音頻全部加載完成);

            ? ? durationchange:音頻時長發生變化;

            ? ? ended:播放結束;

            ? ? error:發生錯誤;

            ? ? pause:播放暫停;

            ? ? play:播放開始;

            ? ? progress:音頻下載過程中觸發,事件觸發過程中可以通過訪問audio的buffered屬性獲取加載進度;

            ? ? seeking:音頻跳躍中觸發,即為修改currentTime時;

            ? ? seeked:音頻跳躍完成時觸發,即為修改完成currentTime時;

            ? ? timeupdate:音頻播放過程中觸發,同時currentTime屬性在同步更新;

            ? ? 事件就介紹到這里,可能還有一些不常用的事件暫不講解。

            ? ? 最后再講解一下一個音頻從開始加載到播放結束過程中,所觸發的事件流以及我們在不同時間段可以操作的屬性:

            ? ? loadstart:開始加載;

            ? ? durationchange:獲取到音頻時長(此時可以獲取duration屬性);

            ? ? progress:音頻下載中(將伴隨下載過程一直觸發,此時可以獲取buffered屬性);

            ? ? canplay:所加載的音頻足夠開始播放(每次暫停后開始播放也會觸發);

            ? ? canplaythrough:音頻全部加載完成;

            ? ? timeupdate:播放過程中(currentTime屬性伴隨著同步更新);

            ? ? seeking:修改當前播放進度中(即為修改currentTime屬性);

            ? ? seeked:修改當前播放進度完成;

            ? ? ended:播放完成;

            ? ? 這就是整個音頻的大致事件流,可能有一些少用的事件沒有列舉出。

            ? ? 在事件觸發過程中,有一些屬性在音頻還沒有開始加載的時候就可以設置,如:controls、loop、volume等等;


            上一篇:常用的Meta標簽寫法和作用

            下一篇:商務通鏈接傳遞參數的擴展使用


            評論