欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

HTML5中視頻音頻的使用詳解

  發(fā)布時(shí)間:2017-07-07 16:28:48   作者:Poetry   我要評(píng)論
這篇文章主要給大家總結(jié)介紹了關(guān)于HTML5中視頻音頻的使用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。

一、video

1.1 video支持視頻格式

常見(jiàn)的視頻格式
 

  • 視頻的組成部分:畫面、音頻、編碼格式
  • 視頻編碼:H.264、Theora、VP8(google開(kāi)源)

HTML5支持的視頻格式:

1、Ogg 

     帶有Theora視頻編碼+Vorbis音頻編碼的Ogg文件 

         支持的瀏覽器:F、C、O 

2、MEPG4 

     帶有H.264視頻編碼+AAC音頻編碼的MPEG4文件 

     支持的瀏覽器: S、C 

3、WebM 

     帶有VP8視頻編碼+Vorbis音頻編碼的WebM格式 

     支持的瀏覽器: I、F、C、O 

     劣勢(shì):視頻少、轉(zhuǎn)碼器幾乎沒(méi)有,不好轉(zhuǎn)碼 

想要video能自動(dòng)填充慢父div的大小,只要給video標(biāo)簽加上style="width= 100%; height=100%; object-fit: fill"即可

1.2 標(biāo)簽原型

指定一種視頻格式,不能播就提示

<video id="media" src="examp.mp4" width="500" 
poster="examp1.jpg" >您的瀏覽器不支持video</video>

給定多種視頻格式,瀏覽器根據(jù)自身支持程度選擇播放哪一種
 

注意:多個(gè)source標(biāo)簽,瀏覽器會(huì)從第一個(gè)開(kāi)始識(shí)別,如果第一個(gè)不被識(shí)別,則會(huì)繼續(xù)識(shí)別第二個(gè);如果第一個(gè)識(shí)別成功,則會(huì)直接播放第一種格式視頻

<video controls = “controls”>
   <source src=”1.mp4” type=”video/mp4” />  //src屬性寫到source標(biāo)簽中,要指定視頻的type類型,例如MP4的即為type=“video/mp4”
   <source src = “2.ogg” type=”video/ogg” />  //ogg格式
   <source src=”3.webm” type=”video/webm” />   //webm格式
</video>

1.3 重要的video標(biāo)簽屬性

屬性(常用) 功能描述
controls controls 是否顯示播放控件
autoplay autoplay 設(shè)置是否打開(kāi)瀏覽器后自動(dòng)播放
width Pilex(像素) 設(shè)置播放器的寬度
height Pilex(像素) 設(shè)置播放器的高度
loop loop 設(shè)置視頻是否循環(huán)播放(即播放完后繼續(xù)重新播放)
preload preload 設(shè)置是否等加載完再播放
src url 設(shè)置要播放視頻的url地址
poster imgurl 設(shè)置播放器初始默認(rèn)顯示圖片
autobuffer autobuffer 設(shè)置為瀏覽器緩沖方式,不設(shè)置autoply才有效

API 屬性 

屬性 描述
audioTracks 返回表示可用音軌的 AudioTrackList 對(duì)象
buffered 返回表示音頻/視頻已緩沖部分的 TimeRanges 對(duì)象
controller 返回表示音頻/視頻當(dāng)前媒體控制器的 MediaController 對(duì)象
crossOrigin 設(shè)置或返回音頻/視頻的 CORS 設(shè)置
currentSrc 返回當(dāng)前音頻/視頻的 URL
currentTime 設(shè)置或返回音頻/視頻中的當(dāng)前播放位置(以秒計(jì))
defaultMuted 設(shè)置或返回音頻/視頻默認(rèn)是否靜音
defaultPlaybackRate 設(shè)置或返回音頻/視頻的默認(rèn)播放速度
duration 返回當(dāng)前音頻/視頻的長(zhǎng)度(以秒計(jì))
ended 返回音頻/視頻的播放是否已結(jié)束
error 返回表示音頻/視頻錯(cuò)誤狀態(tài)的 MediaError 對(duì)象
mediaGroup 設(shè)置或返回音頻/視頻所屬的組合(用于連接多個(gè)音頻/視頻元素)
muted 設(shè)置或返回音頻/視頻是否靜音
networkState 返回音頻/視頻的當(dāng)前網(wǎng)絡(luò)狀態(tài)
paused 設(shè)置或返回音頻/視頻是否暫停
playbackRate 設(shè)置或返回音頻/視頻播放的速度
played 返回表示音頻/視頻已播放部分的 TimeRanges 對(duì)象
readyState 返回音頻/視頻當(dāng)前的就緒狀態(tài)
seekable 返回表示音頻/視頻可尋址部分的 TimeRanges 對(duì)象
seeking 返回用戶是否正在音頻/視頻中進(jìn)行查找
startDate 返回表示當(dāng)前時(shí)間偏移的 Date 對(duì)象
textTracks 返回表示可用文本軌道的 TextTrackList 對(duì)象
videoTracks 返回表示可用視頻軌道的 VideoTrackList 對(duì)象
volume 設(shè)置或返回音頻/視頻的音量
常用API屬性

  • duration:返回當(dāng)前音頻/視頻的長(zhǎng)度(以秒計(jì))
  • paused:設(shè)置或返回音頻/視頻是否暫停
  • currentTime:設(shè)置或返回音頻/視頻中的當(dāng)前播放位置(以秒計(jì))
  • ended:返回音頻/視頻的播放是否已結(jié)束

1.4 Video API

1.4.1 Video 方法

API 事件說(shuō)明
play video.play(); 播放視頻
pause video.pause(); 暫停播放視頻
load video.load(); 將全部屬性回復(fù)默認(rèn)值,視頻恢復(fù)重新開(kāi)始狀態(tài)
canPlayType var support = videoid.canPlayType(‘video/mp4′); 

判斷瀏覽器是否支持當(dāng)前類型的視頻格式

返回值:
        空字符串:不支持Maybe:可能支持Probably:完全支持

常用方法

  • play():開(kāi)始播放音頻/視頻
  • pause():暫停當(dāng)前播放的音頻/視頻

1.4.2網(wǎng)絡(luò)狀態(tài)

獲取video對(duì)象

Media = document.getElementById("media");

1.Media.currentSrc; 

    返回當(dāng)前資源的URL 

2.Media.src = value; 

    返回或設(shè)置當(dāng)前資源的URL 

3.Media.canPlayType(type); 

    是否能播放某種格式的資源 

4.Media.networkState; 

    0.此元素未初始化 

    1.正常但沒(méi)有使用網(wǎng)絡(luò) 

    2.正在下載數(shù)據(jù) 

    3.沒(méi)有找到資源 

5.Media.load(); 

    重新加載src指定的資源 

6.Media.buffered; 

    返回已緩沖區(qū)域,TimeRanges 

7.Media.preload; 

    none:不預(yù)載 

    metadata:預(yù)載資源信息 

    auto: 

1.4.3 準(zhǔn)備狀態(tài)

1.Media.readyState 

2.Media.seeking; 

    是否正在seeking 

1.4.4 回放狀態(tài)

1.Media.currentTime = value; 

    當(dāng)前播放的位置,賦值可改變位置 

2.Media.startTime; 

    一般為0,如果為流媒體或者不從0開(kāi)始的資源,則不為0 

3.Media.duration; 

    當(dāng)前資源長(zhǎng)度 流返回?zé)o限 

4.Media.paused; 

    是否暫停 

5.Media.defaultPlaybackRate = value; 

    默認(rèn)的回放速度,可以設(shè)置 

6.Media.playbackRate = value; 

    當(dāng)前播放速度,設(shè)置后馬上改變 

7.Media.played; 

    返回已經(jīng)播放的區(qū)域,TimeRanges,關(guān)于此對(duì)象見(jiàn)下文 

8.Media.seekable; 

    返回可以seek的區(qū)域 TimeRanges 

9.Media.ended; 

    是否結(jié)束 

10.Media.autoPlay; 

    是否自動(dòng)播放 

11.Media.loop; 

    是否循環(huán)播放 

12.Media.play(); 

    播放 

13.Media.pause(); 

    暫停 

1.4.5 視頻控制

  • Media.controls;//是否有默認(rèn)控制條
  • Media.volume = value; //音量
  • Media.muted = value; //靜音
  • TimeRanges(區(qū)域)對(duì)象
  • TimeRanges.length; //區(qū)域段數(shù)
  • TimeRanges.start(index) //第index段區(qū)域的開(kāi)始位置
  • TimeRanges.end(index) //第index段區(qū)域的結(jié)束位置

1.4.6 相關(guān)事件

1.首先綁定事件的話可以通過(guò)js中的addEventListener方法來(lái)綁定事件 

事件 說(shuō)明
loadstart 客戶端開(kāi)始請(qǐng)求數(shù)據(jù)
progress 客戶端正在請(qǐng)求數(shù)據(jù)
suspend 延遲下載
abort 客戶端主動(dòng)終止下載(不是因?yàn)殄e(cuò)誤引起)
loadstart 客戶端開(kāi)始請(qǐng)求數(shù)據(jù)
progress 客戶端正在請(qǐng)求數(shù)據(jù)
error 請(qǐng)求數(shù)據(jù)時(shí)遇到錯(cuò)誤
stalled 網(wǎng)速失速
play play()和autoplay開(kāi)始播放時(shí)觸發(fā)
pause pause()觸發(fā)
loadedmetadata 成功獲取資源長(zhǎng)度
loadeddata -
waiting 等待數(shù)據(jù),并非錯(cuò)誤
playing 開(kāi)始回放
canplay 可以播放,但中途可能因?yàn)榧虞d而暫停
canplaythrough 可以播放,歌曲全部加載完畢
seeking 尋找中
seeked 尋找完畢
timeupdate 播放時(shí)間改變
ended 播放結(jié)束
ratechange 播放速率改變
durationchange 資源長(zhǎng)度改變
volumechange 音量改變

2.常用事件 

  • oncanplay:當(dāng)文件就緒可以開(kāi)始播放時(shí)運(yùn)行的腳本(緩沖已足夠開(kāi)始時(shí))。
  • ontimeupdate: 當(dāng)播放位置改變時(shí)(比如當(dāng)用戶快進(jìn)到媒介中一個(gè)不同的位置時(shí))運(yùn)行的腳本。
  • onended:當(dāng)媒介已到達(dá)結(jié)尾時(shí)運(yùn)行的腳本(可發(fā)送類似“感謝觀看”之類的消息)。

1.4.7 其他

1.全屏:

  • element.webkitRequestFullScreen();( webkit)
  • element.mozRequestFullScreen(); (Firefox )
  • element.requestFullscreen(); (W3C )

2.退出全屏:

  • document.webkitCancelFullScreen(); (webkit )
  • document.mozCancelFullScreen(); (Firefox)
  • document.exitFullscreen(); (W3C)

二、audio

2.1 audio格式

1.常見(jiàn)的音頻格式

    音頻編碼:ACC、MP3、Vorbis 

2.HTML5支持的音頻格式:

  • Ogg 免費(fèi) 支持的瀏覽器:C、F、O
  • MP3 收費(fèi) 支持的瀏覽器: I、C、S
  • Wav 收費(fèi) 支持的瀏覽器: F、O、S

2.2 audio標(biāo)簽中的一些常用屬性

屬性 屬性值 注釋
src url 播放的音樂(lè)的url地址(火狐只支持ogg的音樂(lè),而IE9只支持MP3格式的音樂(lè)。chrome貌似全支持)
preload preload 預(yù)加載(在頁(yè)面被加載時(shí)進(jìn)行加載或者說(shuō)緩沖音頻),如果使用了autoplay的話那么該屬性失效。
loop loop 循環(huán)播放
controls controls 是否顯示默認(rèn)控制條(控制按鈕)
autoplay autoplay 自動(dòng)播放

對(duì)于音樂(lè)格式的支持 

音頻格式 Chrome Firefox IE9 Opera Safari
OGG 支持 支持 支持 不支持 不支持
MP3 支持 不支持 支持 不支持 支持
WAV 不支持 支持 不支持 支持 不支持

audio可通過(guò)new來(lái)創(chuàng)建。也可以通過(guò)用document來(lái)獲取

//通過(guò)new關(guān)鍵字來(lái)創(chuàng)建Audio對(duì)象
var Music = new Audio("test.mp3");
//通過(guò)document來(lái)獲取已經(jīng)存在的Audio對(duì)象
var Music = document.getElementById("audio");
//當(dāng)然這里也可以使用document.getElementsByClassName('className')等其他的方法來(lái)獲取。

2.3 api所提供的對(duì)audio標(biāo)簽操作的一些屬性和方法

屬性 注釋
duration 獲取媒體文件的總時(shí)長(zhǎng),以s為單位,如果無(wú)法獲取,返回NaN
paused 如果媒體文件被暫停,那么paused屬性返回true,反之則返回false
ended 如果媒體文件播放完畢返回true
muted 用來(lái)獲取或設(shè)置靜音狀態(tài)。值為boolean
volume 控制音量的屬性值為0-1;0為音量最小,1為音量最大
startTime 返回起始播放時(shí)間
error 返回錯(cuò)誤代碼,為uull的時(shí)候?yàn)檎!7駝t可以通過(guò)Music.error.code來(lái)獲取
currentTime 用來(lái)獲取或控制當(dāng)前播放的時(shí)間,單位為s。
currentSrc 以字符串形式返回正在播放或已加載的文件

2.4 常用的控制用的函數(shù)

函數(shù) 作用
load() 加載音頻、視頻軟件
play() 加載并播放音頻、視頻文件或重新播放暫停的的音頻、視頻
pause() 暫停出于播放狀態(tài)的音頻、視頻文件
canPlayType(obj) 測(cè)試是否支持給定的Mini類型的文件

2.5 audio標(biāo)簽API中的常用事件

首先綁定事件的話可以通過(guò)js中的addEventListener方法來(lái)綁定事件  

事件名稱 事件作用
loadstart 客戶端開(kāi)始請(qǐng)求數(shù)據(jù)
progress 客戶端正在請(qǐng)求數(shù)據(jù)(或者說(shuō)正在緩沖)
play play()和autoplay播放時(shí)
pause pause()方法促發(fā)時(shí)
ended 當(dāng)前播放結(jié)束
timeupdate 當(dāng)前播放時(shí)間發(fā)生改變的時(shí)候。播放中常用的時(shí)間處理
canplaythrough 歌曲已經(jīng)載入完全完成
canplay 緩沖至目前可播放狀態(tài)。

其實(shí)video的api和audio幾乎一致。稍稍有點(diǎn)不同。所以基本上會(huì)了一個(gè)其他的也就都會(huì)了

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • html5中audio支持音頻格式的解決方法

    HTML5 Audio標(biāo)簽?zāi)軌蛑С謜av, mp3, ogg, acc, webm等格式,但有個(gè)很重要的音樂(lè)文件格式midi(擴(kuò)展名mid)卻在各大瀏覽器中都沒(méi)有內(nèi)置的支持。這篇文章給大家介紹html5中audio
    2018-08-24
  • HTML5實(shí)現(xiàn)音頻和視頻嵌入的方法

    這篇文章主要介紹了HTML5實(shí)現(xiàn)音頻和視頻嵌入的方法的相關(guān)資料,原生的支持音頻和視頻,為HTML5注入了巨大的發(fā)展?jié)摿Γ【幱X(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考
    2018-08-22
  • 詳解移動(dòng)端HTML5音頻與視頻問(wèn)題及解決方案

    這篇文章主要介紹了詳解移動(dòng)端HTML5音頻與視頻問(wèn)題及解決方案的相關(guān)資料,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-22
  • HTML5制作酷炫音頻播放器插件圖文教程

    本期的教程主要是為了展示Html5新增的
    2014-12-30
  • HTML5自定義mp3播放器源碼

    這篇文章主要介紹了HTML5自定義mp3播放器源碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-01-06

最新評(píng)論