1. <em dir='isasegy'></em>
                <tr lang='e9erimmu'></tr>
                <abbr dropzone='q503x881'><dfn id='i78hfmc'></dfn></abbr>
                1. 文章熱詞:audio

                  日期:2019-03-04 09:40 by Mr. Yang 2210 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等等;


                  上一篇:智能機器人API接口說明

                  下一篇:前任3——經典語錄


                  評論

                  -->