八、H5中對(duì)音視頻的設(shè)計(jì)

html5標(biāo)簽

<video>:Html5提供的播放視頻的標(biāo)簽
    src:資源地址
    controls:該屬性定義是顯示還是隱藏用戶控制界面
    
<audio>:Html5提供的播放音頻的標(biāo)簽
    src:資源地址
    controls:該屬性定義是顯示還是隱藏用戶控制界面
    
<source>
    視頻:
    type='video/webm; codecs="vp8, vorbis"'
    type='video/ogg; codecs="theora, vorbis"'
    type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'
    
    音頻:
    type='audio/ogg; codecs="vorbis"'
    type='audio/aac; codecs="aac"'
    type='audio/mpeg'

video標(biāo)簽的屬性

width  :視頻顯示區(qū)域的寬度,單位是CSS像素
height :視頻展示區(qū)域的高度,單位是CSS像素
poster :一個(gè)海報(bào)幀的URL,用于在用戶播放或者跳幀之前展示

src       :    要嵌到頁面的視頻的URL
controls  :  顯示或隱藏用戶控制界面
autoplay  :  媒體是否自動(dòng)播放
loop      :  媒體是否循環(huán)播放
muted     :  是否靜音
preload   :  該屬性旨在告訴瀏覽器作者認(rèn)為達(dá)到最佳的用戶體驗(yàn)的方式是什么
                none: 提示作者認(rèn)為用戶不需要查看該視頻,服務(wù)器也想要最小化訪問流量;
                          換句話說就是提示瀏覽器該視頻不需要緩存。
                metadata: 提示盡管作者認(rèn)為用戶不需要查看該視頻,
                             不過抓取元數(shù)據(jù)(比如:長度)還是很合理的。
                auto: 用戶需要這個(gè)視頻優(yōu)先加載;換句話說就是提示:如果需要的話,
                         可以下載整個(gè)視頻,即使用戶并不一定會(huì)用它。
                空字符串:也就代指 auto 值。

audio標(biāo)簽的屬性

src       
controls  
autoplay  
loop      
muted     
preload   

音視頻js相關(guān)屬性

duration    :  媒體總時(shí)間(只讀)
currentTime :  開始播放到現(xiàn)在所用的時(shí)間(可讀寫)
muted       :  是否靜音(可讀寫,相比于volume優(yōu)先級(jí)要高)
volume      :  0.0-1.0的音量相對(duì)值(可讀寫)
paused      :  媒體是否暫停(只讀)
ended       :  媒體是否播放完畢(只讀)
error       :  媒體發(fā)生錯(cuò)誤的時(shí)候,返回錯(cuò)誤代碼 (只讀)
currentSrc  :  以字符串的形式返回媒體地址(只讀)


視頻多的部分:
    poster  :   視頻播放前的預(yù)覽圖片(讀寫)
    width、height  :   設(shè)置視頻的尺寸(讀寫)
    videoWidth、 videoHeight  :   視頻的實(shí)際尺寸(只讀)

音視頻js相關(guān)函數(shù)

play()  :  媒體播放
pause()  :  媒體暫停
load()  :  重新加載媒體

js相關(guān)事件

視頻:
    abort    在播放被終止時(shí)觸發(fā),例如, 當(dāng)播放中的視頻重新開始播放時(shí)會(huì)觸發(fā)這個(gè)事件。
    canplay 在媒體數(shù)據(jù)已經(jīng)有足夠的數(shù)據(jù)(至少播放數(shù)幀)可供播放時(shí)觸發(fā)。這個(gè)事件對(duì)應(yīng)CAN_PLAY的readyState。
    canplaythrough  在媒體的readyState變?yōu)镃AN_PLAY_THROUGH時(shí)觸發(fā),表明媒體可以在保持當(dāng)前的下載速度的情況下不被中斷地播放完畢。注意:手動(dòng)設(shè)置currentTime會(huì)使得firefox觸發(fā)一次canplaythrough事件,其他瀏覽器或許不會(huì)如此。
    durationchange  元信息已載入或已改變,表明媒體的長度發(fā)生了改變。例如,在媒體已被加載足夠的長度從而得知總長度時(shí)會(huì)觸發(fā)這個(gè)事件。
    emptied 媒體被清空(初始化)時(shí)觸發(fā)。
    ended   播放結(jié)束時(shí)觸發(fā)。
    error   在發(fā)生錯(cuò)誤時(shí)觸發(fā)。元素的error屬性會(huì)包含更多信息。參閱Error handling獲得詳細(xì)信息。
    loadeddata  媒體的第一幀已經(jīng)加載完畢。
    loadedmetadata  媒體的元數(shù)據(jù)已經(jīng)加載完畢,現(xiàn)在所有的屬性包含了它們應(yīng)有的有效信息。
    loadstart   在媒體開始加載時(shí)觸發(fā)。
    mozaudioavailable   當(dāng)音頻數(shù)據(jù)緩存并交給音頻層處理時(shí)
    pause   播放暫停時(shí)觸發(fā)。
    play    在媒體回放被暫停后再次開始時(shí)觸發(fā)。即,在一次暫停事件后恢復(fù)媒體回放。
    playing 在媒體開始播放時(shí)觸發(fā)(不論是初次播放、在暫停后恢復(fù)、或是在結(jié)束后重新開始)。
    progress    告知媒體相關(guān)部分的下載進(jìn)度時(shí)周期性地觸發(fā)。有關(guān)媒體當(dāng)前已下載總計(jì)的信息可以在元素的buffered屬性中獲取到。
    ratechange  在回放速率變化時(shí)觸發(fā)。
    seeked  在跳躍操作完成時(shí)觸發(fā)。
    seeking 在跳躍操作開始時(shí)觸發(fā)。
    stalled 在嘗試獲取媒體數(shù)據(jù),但數(shù)據(jù)不可用時(shí)觸發(fā)。
    suspend 在媒體資源加載終止時(shí)觸發(fā),這可能是因?yàn)橄螺d已完成或因?yàn)槠渌驎和!?    timeupdate  元素的currentTime屬性表示的時(shí)間已經(jīng)改變。
    volumechange    在音頻音量改變時(shí)觸發(fā)(既可以是volume屬性改變,也可以是muted屬性改變).。
    waiting 在一個(gè)待執(zhí)行的操作(如回放)因等待另一個(gè)操作(如跳躍或下載)被延遲時(shí)觸發(fā)

音頻:
    abort    在播放被終止時(shí)觸發(fā),例如, 當(dāng)播放中的視頻重新開始播放時(shí)會(huì)觸發(fā)這個(gè)事件。
    canplay 在媒體數(shù)據(jù)已經(jīng)有足夠的數(shù)據(jù)(至少播放數(shù)幀)可供播放時(shí)觸發(fā)。這個(gè)事件對(duì)應(yīng)CAN_PLAY的readyState。
    canplaythrough  在媒體的readyState變?yōu)镃AN_PLAY_THROUGH時(shí)觸發(fā),表明媒體可以在保持當(dāng)前的下載速度的情況下不被中斷地播放完畢。注意:手動(dòng)設(shè)置currentTime會(huì)使得firefox觸發(fā)一次canplaythrough事件,其他瀏覽器或許不會(huì)如此。
    durationchange  元信息已載入或已改變,表明媒體的長度發(fā)生了改變。例如,在媒體已被加載足夠的長度從而得知總長度時(shí)會(huì)觸發(fā)這個(gè)事件。
    emptied 媒體被清空(初始化)時(shí)觸發(fā)。
    ended   播放結(jié)束時(shí)觸發(fā)。
    error   在發(fā)生錯(cuò)誤時(shí)觸發(fā)。元素的error屬性會(huì)包含更多信息。參閱Error handling獲得詳細(xì)信息。
    loadeddata  媒體的第一幀已經(jīng)加載完畢。
    loadedmetadata  媒體的元數(shù)據(jù)已經(jīng)加載完畢,現(xiàn)在所有的屬性包含了它們應(yīng)有的有效信息。
    loadstart   在媒體開始加載時(shí)觸發(fā)。
    mozaudioavailable   當(dāng)音頻數(shù)據(jù)緩存并交給音頻層處理時(shí)
    pause   播放暫停時(shí)觸發(fā)。
    play    在媒體回放被暫停后再次開始時(shí)觸發(fā)。即,在一次暫停事件后恢復(fù)媒體回放。
    playing 在媒體開始播放時(shí)觸發(fā)(不論是初次播放、在暫停后恢復(fù)、或是在結(jié)束后重新開始)。
    progress    告知媒體相關(guān)部分的下載進(jìn)度時(shí)周期性地觸發(fā)。有關(guān)媒體當(dāng)前已下載總計(jì)的信息可以在元素的buffered屬性中獲取到。
    ratechange  在回放速率變化時(shí)觸發(fā)。
    seeked  在跳躍操作完成時(shí)觸發(fā)。
    seeking 在跳躍操作開始時(shí)觸發(fā)。
    stalled 在嘗試獲取媒體數(shù)據(jù),但數(shù)據(jù)不可用時(shí)觸發(fā)。
    suspend 在媒體資源加載終止時(shí)觸發(fā),這可能是因?yàn)橄螺d已完成或因?yàn)槠渌驎和!?    timeupdate  元素的currentTime屬性表示的時(shí)間已經(jīng)改變。
    volumechange    在音頻音量改變時(shí)觸發(fā)(既可以是volume屬性改變,也可以是muted屬性改變).。
    waiting 在一個(gè)待執(zhí)行的操作(如回放)因等待另一個(gè)操作(如跳躍或下載)被延遲時(shí)觸發(fā)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 教程一:視頻截圖(Tutorial 01: Making Screencaps) 首先我們需要了解視頻文件的一些基...
    90后的思維閱讀 4,989評(píng)論 0 3
  • 22、JQ的基礎(chǔ)語法、核心原理和項(xiàng)目實(shí)戰(zhàn) jQ的版本和下載 jQuery版本 1.x:兼容IE6-8,是目前PC端...
    萌妹撒閱讀 1,880評(píng)論 0 0
  • 第一章 HTML5 (2014年10月29日發(fā)布)新特性: 10個(gè) (1)新的語義標(biāo)簽 (2)增強(qiáng)型表單 (3)視...
    fastwe閱讀 1,041評(píng)論 0 1
  • HTML 5 HTML5概述 因特網(wǎng)上的信息是以網(wǎng)頁的形式展示給用戶的,因此網(wǎng)頁是網(wǎng)絡(luò)信息傳遞的載體。網(wǎng)頁文件是用...
    阿啊阿吖丁閱讀 4,981評(píng)論 0 0
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對(duì)...
    cosWriter閱讀 11,681評(píng)論 1 32

友情鏈接更多精彩內(nèi)容