H5 video
目前全部瀏覽器都支持的視頻格式是MP4格式,因此mp4應當是點播web視頻的首選格式。
而在直播視頻上,H5 video只在移動端原生支持HLS
流的直播視頻(Mac safari video標籤也支持, PC Chrome不支持),其餘直播流(如FLV
)就須要Flash
插件的支持。html
partial Content
。有關206狀態碼的相關內容,能夠參考下文
video.pause()
能夠暫停視頻播放,但並不能中止視頻資源的繼續加載,媒體元素會繼續加載知道被垃圾回收機制回收。
video.pause()
video.src=''
video.removeAttribute('src');複製代碼
webkit-playsinline
屬性,若是要兼容,則把兩個屬性都加上。
UIwebview: webview.allowsInlineMediaPlayback = YES
,不過仍是要求在video元素上加playsinline屬性
vide.muted = true;
video.play()
setTimeout(function () {
video.muted = false
}, 300)複製代碼
<div id="test-ele">這個元素監聽事件</div>
<script>
const testEle = document.querySelector('#test-ele');
testEle.addEventlistener('click', function (evt) {
// 用戶觸發爲true,script或EventTarget.dispatchEvent() 觸發爲false
console.log(evt.isTrusted);
}, false);
testEle.click() // 這個觸發,evt.isTrusted = false
</script>複製代碼
const pro = video.play();
if (pro) { // iOS9及如下版本不會返回Promise對象,作下兼容處理
pro.catch(err=>{ console.log(err) });
}複製代碼
video.played/ video.buffered/ video.seekable
TimeRanges.length
值爲1;若是進行了跳躍觀看(如從2分鐘,忽然跳進到15分鐘的位置),而跳躍內容並無緩衝完畢,則會出現兩個時間段,這時TimeRanges的length爲2。因此TimeRanges個數會隨着跳躍觀看未緩衝完成的內容而增長,隨着緩衝的完成而減小,最少爲1個,即從開頭到結尾。
start()
、
play()
兩個方法:
TimeRanges.start(0)
,結束時間爲
TimeRanges.end(0)
,第二段
TimeRanges.start(1)
,以此類推
如視頻的原始尺寸爲640 * 360html5
設置video高400、寬800,高度的增加跟寬度的增加不成比例,寬度會比視寬度寬,則video會左右補白,視區居中。ios