video 属性和事件用法大全
生活随笔
收集整理的這篇文章主要介紹了
video 属性和事件用法大全
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
(1) video屬性
<!-- video 不支持 IE8及以下版本瀏覽器,支持三種視頻格式:MP4,WebM 和 Ogg --><video src="test.mp4" controls width="400" height="300"></video><!-- 禁止下載 --><video src="test.mp4" controls controlslist="nodownload" width="400" height="300"></video><!-- 禁止下載,禁止全屏 --><video src="test.mp4" controls controlslist="nodownload nofullscreen" width="400" height="300"></video><!-- 自動播放 (不同瀏覽器的表現不一樣) --><video src="test.mp4" controls autoplay width="400" height="300"></video><!-- 默認靜音播放(可手動點開繼續播放) --><video src="test.mp4" controls muted width="400" height="300"></video><!-- 循環播放 --><video src="test.mp4" controls loop width="400" height="300"></video><!-- 預加載 --><video src="test.mp4" controls preload width="400" height="300"></video><!-- 貼圖 --><video src="test.mp4" poster="poster.jpg" controls width="400" height="300"></video><!-- 音量控制 --><video src="test.mp4" poster="poster.jpg" controls width="400" height="300" id="_volume"></video><script>var video = document.getElementById('_volume')video.volume = 2 // 取值范圍:0 到 1,0 是靜音,0.5 是一半的音量,1 是最大音量(默認值)</script><!-- 播放時間控制 --><video src="test.mp4" poster="poster.jpg" controls width="400" height="300" id="_time"></video><script>var video = document.getElementById('_time')console.log(video.currentTime) // 視頻當前正在播放的時間(單位:s),進度條拖到哪就顯示當前的時間video.currentTime = 60 // 默認從60秒處開始播放</script><!-- 播放地址切換 (常見于切換超清 高清 流暢,不同畫質的視頻地址不同) --><video src="test.mp4" controls autoplay width="400" height="300" id="_src"></video><script>var video = document.getElementById('_src')console.log(video.src) // http://127.0.0.1:8001/test.mp4 絕對地址,DOM 中是相對地址// video.src = 'test-2.mp4' // 直接替換掉了原來的視頻srcsetTimeout(() => {video.src = 'test-2.mp4' // 播放到第 30s 的時候,自動切換視頻}, 30000)</script><!-- 備用地址切換 --><video controls autoplay width="400" height="300" id="_source"><source src="test3.mp4" type="video/mp4" /><source src="test9.mp4" type="video/mp4" /><source src="test-2.mp4" type="video/mp4" /></video><script>var video = document.getElementById('_source')setTimeout(() => {console.log(video.currentSrc) // http://127.0.0.1:8001/test.mp4}, 1000)// HTTP 載入失敗,狀態碼 404。媒體資源 http://127.0.0.1:8001/test3.mp4 載入失敗。// HTTP 載入失敗,狀態碼 404。媒體資源 http://127.0.0.1:8001/test9.mp4 載入失敗。// http://127.0.0.1:8001/test-2.mp4// 當第一段視頻加載失敗時,自動加載下一段視頻(2)video 事件
<video src="test.mp4" controls width="400" height="300" id="video"></video><script>var video = document.getElementById('video')// 1、loadstart:視頻查找。當瀏覽器開始尋找指定的音頻/視頻時觸發,也就是當加載過程開始時video.addEventListener('loadstart', function(e) {console.log('提示視頻的元數據已加載')console.log(e)console.log(video.duration) // NaN})// 2、durationchange:時長變化。當指定的音頻/視頻的時長數據發生變化時觸發,加載后,時長由 NaN 變為音頻/視頻的實際時長video.addEventListener('durationchange', function(e) {console.log('提示視頻的時長已改變')console.log(e)console.log(video.duration) // 528.981333 視頻的實際時長(單位:秒)})// 3、loadedmetadata :元數據加載。當指定的音頻/視頻的元數據已加載時觸發,元數據包括:時長、尺寸(僅視頻)以及文本軌道video.addEventListener('loadedmetadata', function(e) {console.log('提示視頻的元數據已加載')console.log(e)})// 4、loadeddata:視頻下載監聽。當當前幀的數據已加載,但沒有足夠的數據來播放指定音頻/視頻的下一幀時觸發video.addEventListener('loadeddata', function(e) {console.log('提示當前幀的數據是可用的')console.log(e)})// 5、progress:瀏覽器下載監聽。當瀏覽器正在下載指定的音頻/視頻時觸發video.addEventListener('progress', function(e) {console.log('提示視頻正在下載中')console.log(e)})// 6、canplay:可播放監聽。當瀏覽器能夠開始播放指定的音頻/視頻時觸發video.addEventListener('canplay', function(e) {console.log('提示該視頻已準備好開始播放')console.log(e)})// 7、canplaythrough:可流暢播放。當瀏覽器預計能夠在不停下來進行緩沖的情況下持續播放指定的音頻/視頻時觸發video.addEventListener('canplaythrough', function(e) {console.log('提示視頻能夠不停頓地一直播放')console.log(e)})// 8、play:播放監聽video.addEventListener('play', function(e) {console.log('提示該視頻正在播放中')console.log(e)})// 9、pause:暫停監聽video.addEventListener('pause', function(e) {console.log('暫停播放')console.log(e)})// 10、seeking:查找開始。當用戶開始移動/跳躍到音頻/視頻中新的位置時觸發video.addEventListener('seeking', function(e) {console.log('開始移動進度條')console.log(e)})// 11、seeked:查找結束。當用戶已經移動/跳躍到視頻中新的位置時觸發video.addEventListener('seeked', function(e) {console.log('進度條已經移動到了新的位置')console.log(e)})// 12、waiting:視頻加載等待。當視頻由于需要緩沖下一幀而停止,等待時觸發video.addEventListener('waiting', function(e) {console.log('視頻加載等待')console.log(e)})// 13、playing:當視頻在已因緩沖而暫?;蛲V购笠丫途w時觸發video.addEventListener('playing', function(e) {console.log('playing')console.log(e)})// 14、timeupdate:目前的播放位置已更改時,播放時間更新video.addEventListener('timeupdate', function(e) {console.log('timeupdate')console.log(e)})// 15、ended:播放結束video.addEventListener('ended', function(e) {console.log('視頻播放完了')console.log(e)})// 16、error:播放錯誤video.addEventListener('error', function(e) {console.log('視頻出錯了')console.log(e)})// 17、volumechange:當音量更改時video.addEventListener('volumechange', function(e) {console.log('volumechange')console.log(e)})// 18、stalled:當瀏覽器嘗試獲取媒體數據,但數據不可用時video.addEventListener('stalled', function(e) {console.log('stalled')console.log(e)})// 19、ratechange:當視頻的播放速度已更改時video.addEventListener('ratechange', function(e) {console.log('ratechange')console.log(e)})</script>總結
以上是生活随笔為你收集整理的video 属性和事件用法大全的全部內容,希望文章能夠幫你解決所遇到的問題。