主頁(yè) > 知識(shí)庫(kù) > HTML5中視頻音頻的使用詳解

HTML5中視頻音頻的使用詳解

熱門標(biāo)簽:ai電銷機(jī)器人連接網(wǎng)關(guān) 威海營(yíng)銷外呼系統(tǒng)招商 農(nóng)村住宅地圖標(biāo)注 中紳電銷智能機(jī)器人 鄭州電銷外呼系統(tǒng)違法嗎 漳州人工外呼系統(tǒng)排名 跟電銷機(jī)器人做同事 濟(jì)南辦理400電話 鶴壁手機(jī)自動(dòng)外呼系統(tǒng)怎么安裝

一、video

1.1 video支持視頻格式

常見的視頻格式
 

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

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)碼器幾乎沒有,不好轉(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è)開始識(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è)置是否打開瀏覽器后自動(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 事件說明
play video.play(); 播放視頻
pause video.pause(); 暫停播放視頻
load video.load(); 將全部屬性回復(fù)默認(rèn)值,視頻恢復(fù)重新開始狀態(tài)
canPlayType var support = videoid.canPlayType(‘video/mp4′); 

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

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

常用方法

  • play():開始播放音頻/視頻
  • 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.正常但沒有使用網(wǎng)絡(luò) 

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

    3.沒有找到資源 

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開始的資源,則不為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ì)象見下文 

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ū)域的開始位置
  • TimeRanges.end(index) //第index段區(qū)域的結(jié)束位置

1.4.6 相關(guān)事件

1.首先綁定事件的話可以通過js中的addEventListener方法來綁定事件 

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

2.常用事件 

  • oncanplay:當(dāng)文件就緒可以開始播放時(shí)運(yùn)行的腳本(緩沖已足夠開始時(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.常見的音頻格式

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

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

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

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

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

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

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

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

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

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

首先綁定事件的話可以通過js中的addEventListener方法來綁定事件  

事件名稱 事件作用
loadstart 客戶端開始請(qǐng)求數(shù)據(jù)
progress 客戶端正在請(qǐng)求數(shù)據(jù)(或者說正在緩沖)
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í)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

標(biāo)簽:紅河 營(yíng)口 文山 甘南 咸陽 萍鄉(xiāng) 蘇州 惠州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《HTML5中視頻音頻的使用詳解》,本文關(guān)鍵詞  HTML5,中,視頻音頻,的,使用,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《HTML5中視頻音頻的使用詳解》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于HTML5中視頻音頻的使用詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章