麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > HTML > 正文

HTML5中視頻音頻的使用詳解

2024-08-26 00:19:43
字體:
來源:轉載
供稿:網友

一、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 

     劣勢:視頻少、轉碼器幾乎沒有,不好轉碼 

想要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>

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

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

<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 設置是否打開瀏覽器后自動播放
width Pilex(像素) 設置播放器的寬度
height Pilex(像素) 設置播放器的高度
loop loop 設置視頻是否循環播放(即播放完后繼續重新播放)
preload preload 設置是否等加載完再播放
src url 設置要播放視頻的url地址
poster imgurl 設置播放器初始默認顯示圖片
autobuffer autobuffer 設置為瀏覽器緩沖方式,不設置autoply才有效

 

API 屬性 

 

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

 

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

1.4 Video API

1.4.1 Video 方法

 

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

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

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

 

常用方法

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

1.4.2網絡狀態

獲取video對象

Media = document.getElementById("media");

1.Media.currentSrc; 

    返回當前資源的URL 

2.Media.src = value; 

    返回或設置當前資源的URL 

3.Media.canPlayType(type); 

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

4.Media.networkState; 

    0.此元素未初始化 

    1.正常但沒有使用網絡 

    2.正在下載數據 

    3.沒有找到資源 

5.Media.load(); 

    重新加載src指定的資源 

6.Media.buffered; 

    返回已緩沖區域,TimeRanges 

7.Media.preload; 

    none:不預載 

    metadata:預載資源信息 

    auto: 

1.4.3 準備狀態

1.Media.readyState 

2.Media.seeking; 

    是否正在seeking 

1.4.4 回放狀態

1.Media.currentTime = value; 

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

2.Media.startTime; 

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

3.Media.duration; 

    當前資源長度 流返回無限 

4.Media.paused; 

    是否暫停 

5.Media.defaultPlaybackRate = value; 

    默認的回放速度,可以設置 

6.Media.playbackRate = value; 

    當前播放速度,設置后馬上改變 

7.Media.played; 

    返回已經播放的區域,TimeRanges,關于此對象見下文 

8.Media.seekable; 

    返回可以seek的區域 TimeRanges 

9.Media.ended; 

    是否結束 

10.Media.autoPlay; 

    是否自動播放 

11.Media.loop; 

    是否循環播放 

12.Media.play(); 

    播放 

13.Media.pause(); 

    暫停 

1.4.5 視頻控制

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

1.4.6 相關事件

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

 

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

 

2.常用事件 

  • oncanplay:當文件就緒可以開始播放時運行的腳本(緩沖已足夠開始時)。
  • ontimeupdate: 當播放位置改變時(比如當用戶快進到媒介中一個不同的位置時)運行的腳本。
  • onended:當媒介已到達結尾時運行的腳本(可發送類似“感謝觀看”之類的消息)。

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 預加載(在頁面被加載時進行加載或者說緩沖音頻),如果使用了autoplay的話那么該屬性失效。
loop loop 循環播放
controls controls 是否顯示默認控制條(控制按鈕)
autoplay autoplay 自動播放

 

對于音樂格式的支持 

 

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

 

audio可通過new來創建。也可以通過用document來獲取

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

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

 

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

 

2.4 常用的控制用的函數

 

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

 

2.5 audio標簽API中的常用事件

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

 

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

 

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

總結

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


注:相關教程知識閱讀請移步到HTML教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久久99精品视频 | 好吊色欧美一区二区三区四区 | 欧美一级做性受免费大片免费 | 日韩精品网站在线观看 | 亚洲午夜久久久精品一区二区三区 | 成人毛片免费看 | 请播放一级毛片 | 在线无码 | 欧美精品一区二区久久久 | 中文字幕在线第二页 | 毛片免费看电影 | 亚洲人成免费 | 最近日本电影hd免费观看 | 久久精品视频免费观看 | 一级毛片真人免费播放视频 | 国产精品剧情一区二区三区 | 男人久久天堂 | 色婷婷久久久亚洲一区二区三区 | 成人免费自拍视频 | 男人久久天堂 | 在线观看免费视频麻豆 | 日本在线不卡一区二区三区 | 国产精品久久久久久久久久 | 国产资源在线免费观看 | 污视频在线看 | 久久国产成人精品国产成人亚洲 | 国产99久久久久久免费看 | 午夜精品成人一区二区 | 久久久久久免费 | 亚洲成人精品视频 | 激情亚洲一区二区 | 日本a大片 | 欧美一级做a | 午夜看毛片 | 精品亚洲在线 | 91成人久久 | 91精品国产91久久久久久不卞 | 精国品产一区二区三区有限公司 | 红杏网站永久免费视频入口 | 鲁丝片一区二区三区免费入口 | 国产精品久久久久久婷婷天堂 |