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