原文閱讀:更好的閱讀javascript
HTML
<video>
元素 用於在HTML或者XHTML文檔中嵌入視頻內容
設置或返回視頻是否應該顯示控件(好比播放/暫停等)
<video src="./mt-baker_cibsgl.mp4" width="100%" controls></video>
設置或返回是否在就緒(加載完成)後自動播放視頻
<video src="http://codehtml.cn/code-demo/video/mt-baker_cibsgl.mp4" width="100%" controls autoplay></video>
設置是否去除去除下載按鈕nodownload
<video src="http://codehtml.cn/code-demo/video/mt-baker_cibsgl.mp4" width="100%" controls controlslist="nodownload"></video>
設置是否去除全屏顯示按鈕
<video src="http://codehtml.cn/code-demo/video/mt-baker_cibsgl.mp4" width="100%" controls controlslist="nodownload nofullscreen"></video>
設置視頻的封面
<video src="http://codehtml.cn/code-demo/video/mt-baker_cibsgl.mp4" width="100%" controls poster="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1526349212159&di=d6e00c2a2102cac0b50e0e622aa02618&imgtype=0&src=http%3A%2F%2Fimg5.duitang.com%2Fuploads%2Fitem%2F201411%2F06%2F20141106104720_WHEe2.jpeg"></video>
設置是否靜音(
注意:移動端非靜音模式下沒法自動播放
)
<video src="http://codehtml.cn/code-demo/video/code.mp4" width="100%" controls muted></video>
設置循環播放
<video src="http://codehtml.cn/code-demo/video/mt-baker_cibsgl.mp4" width="100%" controls loop></video>
視頻預加載模式
<video src="http://codehtml.cn/code-demo/video/mt-baker_cibsgl.mp4" width="100%" controls preload></video>
音量控制,區間範圍在0-1
<video src="http://codehtml.cn/code-demo/video/code.mp4" width="100%" controls id="volume"></video> var time = document.getElementById("time"); time.currentTime = 60;// 秒
<video src="http://codehtml.cn/code-demo/video/code.mp4" width="100%" controls preload id="time"></video> <script type="text/javascript"> var time = document.getElementById("time"); time.currentTime = 60;// 秒 </script>
<video src="http://codehtml.cn/code-demo/video/code.mp4" width="100%" controls preload id="_src"></video> <script type="text/javascript"> var _src = document.getElementById("_src"); function changeSrc(){ _src.src = "http://codehtml.cn/code-demo/video/mt-baker_cibsgl.mp4"; } </script>
<video width="100%" controls id="_source"> <source src="http://codehtml.cn/code-demo/video/code1.mp4" type="video/mp4"> // 錯誤地址 <source src="http://codehtml.cn/code-demo/video/mt-baker_cibsgl.mp4" type="video/mp4"> </video> <script type="text/javascript"> var _source = document.getElementById("_source"); setTimeout(function () { console.log(_source.currentSrc);// 獲取當前url },2000) </script>
<video src="http://codehtml.cn/code-demo/video/code.mp4" width="100%" controls preload id="_speed"></video> <script type="text/javascript"> var _speed = document.getElementById("_speed"); _speed.playbackRate = 0.5; </script>
<video src=" http://codehtml.cn/code-demo/...; width="100%" controls id="vs"></video>
?> 當瀏覽器開始尋找指定的音頻/視頻時,會發生 loadstart 事件。即當加載過程開始時html
v.addEventListener('loadstart',function(e){ console.log("loadstart"); })
音頻/視頻的時長
v.addEventListener('durationchange',function(e){ console.log("時長", v.duration); })
當瀏覽器已經加載完成視頻
v.addEventListener('loadedmetadata',function(e){ console.log("loadedmetadata"); })
當瀏覽器已加載視頻的當前幀時
v.addEventListener('loadeddata',function(e){ console.log("loadeddata"); })
?> 當瀏覽器正在下載視頻java
v.addEventListener('progress',function(e){ console.log("progress"); })
判斷是否能夠播放
v.addEventListener('canplay',function(){ console.log('canplay'); })
判斷是否能夠流暢播放
v.addEventListener('canplaythrough',function(){ console.log('canplaythrough'); })
視頻播放
v.addEventListener('play',function(){ console.log('play'); })
視頻暫停
v.addEventListener('pause',function(){ console.log('pause'); })
當用戶開始移動/跳躍到音視頻中的新位置時
v.addEventListener('seeking',function(){ console.log('seeking'); })
當用戶已移動/跳躍到視頻中的新位置
v.addEventListener('seeked',function(){ console.log('seeked'); })
當視頻因爲須要緩衝下一幀而中止,等待
v.addEventListener('waiting',function(){ console.log('waiting'); })
當視頻在已因緩衝而暫停或中止後已就緒時
v.addEventListener('playing',function(){ console.log('playing'); })
目前的播放位置已更改時,播放時間更新
v.addEventListener('timeupdate',function(){ console.log('timeupdate'); })
播放結束
v.addEventListener('ended',function(){ console.log('ended'); })
播放錯誤
v.addEventListener('error',function(e){ console.log('error', e); })
當音量已更改時
v.addEventListener('volumechange',function(){ console.log('volumechange'); })
當瀏覽器嘗試獲取媒體數據,但數據不可用時
v.addEventListener('stalled',function(){ console.log('stalled'); })
當視頻的播放速度已更改時
v.addEventListener('ratechange',function(){ console.log('ratechange'); })
參考資料:瀏覽器
MDN: videodom
原文閱讀 ---->post