主頁 > 知識庫 > HTML5中視頻音頻的使用詳解

HTML5中視頻音頻的使用詳解

熱門標簽:ai電銷機器人連接網(wǎng)關(guān) 威海營銷外呼系統(tǒng)招商 農(nóng)村住宅地圖標注 中紳電銷智能機器人 鄭州電銷外呼系統(tǒng)違法嗎 漳州人工外呼系統(tǒng)排名 跟電銷機器人做同事 濟南辦理400電話 鶴壁手機自動外呼系統(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 

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

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

1.2 標簽原型

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

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

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

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

<video controls = “controls”>
   <source src=”1.mp4” type=”video/mp4” />  //src屬性寫到source標簽中,要指定視頻的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標簽屬性

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

API 屬性 

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

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

1.4 Video API

1.4.1 Video 方法

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

判斷瀏覽器是否支持當前類型的視頻格式

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

常用方法

  • play():開始播放音頻/視頻
  • pause():暫停當前播放的音頻/視頻

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

獲取video對象

Media = document.getElementById("media");

1.Media.currentSrc; 

    返回當前資源的URL 

2.Media.src = value; 

    返回或設(shè)置當前資源的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 準備狀態(tài)

1.Media.readyState 

2.Media.seeking; 

    是否正在seeking 

1.4.4 回放狀態(tài)

1.Media.currentTime = value; 

    當前播放的位置,賦值可改變位置 

2.Media.startTime; 

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

3.Media.duration; 

    當前資源長度 流返回無限 

4.Media.paused; 

    是否暫停 

5.Media.defaultPlaybackRate = value; 

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

6.Media.playbackRate = value; 

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

7.Media.played; 

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

8.Media.seekable; 

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

9.Media.ended; 

    是否結(jié)束 

10.Media.autoPlay; 

    是否自動播放 

11.Media.loop; 

    是否循環(huán)播放 

12.Media.play(); 

    播放 

13.Media.pause(); 

    暫停 

1.4.5 視頻控制

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

1.4.6 相關(guān)事件

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

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

2.常用事件 

  • oncanplay:當文件就緒可以開始播放時運行的腳本(緩沖已足夠開始時)。
  • ontimeupdate: 當播放位置改變時(比如當用戶快進到媒介中一個不同的位置時)運行的腳本。
  • onended:當媒介已到達結(jié)尾時運行的腳本(可發(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 免費 支持的瀏覽器:C、F、O
  • MP3 收費 支持的瀏覽器: I、C、S
  • Wav 收費 支持的瀏覽器: F、O、S

2.2 audio標簽中的一些常用屬性

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

對于音樂格式的支持 

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

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

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

2.3 api所提供的對audio標簽操作的一些屬性和方法

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

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

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

2.5 audio標簽API中的常用事件

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

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

其實video的api和audio幾乎一致。稍稍有點不同。所以基本上會了一個其他的也就都會了

總結(jié)

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

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

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