测试地址:https://young-cowboy.github.io/gallery/html5_video/index.html

属性

一些属性是只读的,一些属性是可以修改从而影响视频播放的。

  • autoplay:视频会马上自动开始播放,不会停下来等着数据载入结束。

    • 值可以是:autoplay;空;或者什么都不写
  • preload:该枚举属性旨在告诉浏览器作者认为达到最佳的用户体验的方式是什么。可能是下列值之一:
    • none: 提示作者认为用户不需要查看该视频,服务器也想要最小化访问流量;换句话说就是提示浏览器该视频不需要缓存。
    • metadata: 提示尽管作者认为用户不需要查看该视频,不过抓取元数据(比如:长度)还是很合理的。auto: 用户需要这个视频优先加载;换句话说就是提示:如果需要的话,可以下载整个视频,即使用户并不一定会用它。
    • 空字符串:也就代指 auto 值。
    • 规范没有强制浏览器去遵循该属性的值;这仅仅只是个提示。
  • controls: 提供用户控制,允许用户控制视频的播放,包括音量,跨帧,暂停/恢复播放。
  • loop: 视频结尾的地方,自动返回视频开始的地方。
    • 值为可以是:"loop";空;或者什么都不写
  • poster: 一个海报帧的URL,用于在用户播放或者跳帧之前展示。
  • height : 视频展示区域的高度,单位是CSS像素。
  • width: 视频显示区域的宽度,单位是CSS像素。
  • muted: 布尔属性,指明了视频里的音频的默认设置。设置后,音频会初始化为静音。默认值是false
    • 值类型为:"loop";空;或者什么都不写
  • src: 要嵌到页面的视频的URL。你也可以使用video块内的 source 元素来指定需要嵌到页面的视
  • currentSrc: 返回当前音频/视频的 URL
  • duration: 返回当前音频/视频的长度,以秒计。
  • ended: 播放是否已结束
  • paused: 视频是否已暂停。
  • webkit-playsinline: 值:webkit-playsinline,在移动端是否原地播放而不全屏播放视频,从ios10 Safari开始支持,android场景不同效果不同
  • playbackRate: 设置或返回视频的当前播放速度。
    • 只有 Google Chrome 和 Safari 支持 playbackRate 属性。
    • 1.0 正常速度
    • 0.5 半速(更慢)
    • 2.0 倍速(更快)
    • -1.0 向后,正常速度
    • -0.5 向后,半速
  • seekable: 返回 TimeRanges 对象。
    • TimeRanges 对象表示音频/视频中用户可寻址的范围。
  • seeking: 返回用户目前是否在视频中寻址。
  • volume: 设置或返回视频的当前音量。
  • buffered: 这个属性可以读取到哪段时间范围内的媒体被缓存了。该属性包含了一个 TimeRanges 对象。
  • networkState : 网络状态
    • NETWORK_EMPTY = 0; // 音频/视频尚未初始化
    • NETWORK_IDLE = 1; // 音频/视频是活动的且已选取资源,但并未使用网络
    • NETWORK_LOADING = 2; //浏览器正在下载数据
    • NETWORK_NO_SOURCE = 3; // 未找到音频/视频来源
  • readyState : 准备状态
    • HAVE_NOTHING = 0; 没有关于音频/视频是否就绪的信息
    • HAVE_METADATA = 1; 关于音频/视频就绪的元数据
    • HAVE_CURRENT_DATA = 2; 关于当前播放位置的数据是可用的,但没有足够的数据来播放下一帧/毫秒
    • HAVE_FUTURE_DATA = 3; 当前及至少下一帧的数据是可用的
    • HAVE_ENOUGH_DATA = 4; 可用数据足以开始播放

事件

  • abort : 在播放被终止时触发,例如, 当播放中的视频重新开始播放时会触发这个事件。
  • canplay : 媒体数据已经有足够的数据(至少播放数帧)可供播放时触发。这个事件对应CAN_PLAY的readyState。
  • canplaythrough : 在媒体的readyState变为CAN_PLAY_THROUGH时触发,表明媒体可以在保持当前的下载速度的情况下不被中断地播放完毕。注意:手动设置currentTime会使得firefox触发一次canplaythrough事件,其他浏览器或许不会如此。
  • emptied :媒体被清空(初始化)时触发。
  • ended :播放结束时触发。
  • error :在发生错误时触发。元素的error属性会包含更多信息。参阅Error handling获得详细信息。
  • loadeddata : 媒体的第一帧已经加载完毕。
  • loadedmetadata : 媒体的元数据已经加载完毕,现在所有的属性包含了它们应有的有效信息。
  • loadstart :在媒体开始加载时触发。
  • pause :播放暂停时触发。
  • play : 在媒体回放被暂停后再次开始时触发。即,在一次暂停事件后恢复媒体回放。
  • playing :在媒体开始播放时触发(不论是初次播放、在暂停后恢复、或是在结束后重新开始)。
  • durationchange : 元信息已载入或已改变,表明媒体的长度发生了改变。例如,在媒体已被加载足够的长度从而得知总长度时会触发这个事件
  • progress : 告知媒体相关部分的下载进度时周期性地触发。有关媒体当前已下载总计的信息可以在元素的buffered属性中获取到。
  • ratechange : 在回放速率变化时触发。
  • seeked : 在跳跃操作完成时触发。
  • seeking : 在跳跃操作开始时触发。
  • stalled : 在尝试获取媒体数据,但数据不可用时触发。
  • suspend : 在媒体资源加载终止时触发,这可能是因为下载已完成或因为其他原因暂停。
  • timeupdate : 元素的currentTime属性表示的时间已经改变。
  • volumechange : 在音频音量改变时触发(既可以是volume属性改变,也可以是muted属性改变)。
  • waiting : 在一个待执行的操作(如回放)因等待另一个操作(如跳跃或下载)被延迟时触发。

方法

  • play : 开始播放
  • pause: 暂停播放
  • load: 更改视频来源,并重载视频:Safari 不支持
document.getElementById("mp4_src").src="movie.mp4";
document.getElementById("ogg_src").src="movie.ogg";
document.getElementById("video1").load();
  • canPlayType():检测浏览器是否能播放指定的音频/视频类型

    • 所有浏览器都支持 canPlayType() 方法。
    • probably: 浏览器最可能支持该音频/视频类型,这里的词都是可难这种词语,是因为视频播放器不真正的播放视频是无法知道是否支持播放
    • maybe: 浏览器也许支持该音频/视频类型
    • "" (空字符串):浏览器不支持该音频/视频类型
    • 常见的类型+解码器
      • video/ogg; codecs="theora, vorbis"
      • video/mp4; codecs="avc1.4D401E, mp4a.40.2"
      • video/webm; codecs="vp8.0, vorbis"
      • audio/ogg; codecs="vorbis"
      • audio/mp4; codecs="mp4a.40.5"

参考资料

前端多媒体(4)—— video标签全面分析的更多相关文章

  1. HTML5新增video标签及对应属性、API详解

    知识说明: 比不上很牛的前端开发人员,但自始至终明白“万丈高楼平地起”,基础最重要,初学HTML5,稳固基础第一步,把最基本的整理下来,留下自己学习的痕迹.HTML5新增的video标签,将其属性以及 ...

  2. 如何禁止 iPhone Safari video标签视频自动全屏?

    最近做一个移动端微信页面项目,在微信页面中有视频播放,但是需要禁止IOS的自动全屏播放(前提必须使用video标签).如: <video id="post" autoplay ...

  3. 大事记 - 安卓微信浏览器 video 标签层级过高

    // 为什么叫<大事记>? // 以前总有面试官问这样一个问题:“你在项目中遇到过最头疼的问题是什么,是怎么解决的?” // 当时总觉得,已解决的问题都算不上头疼,所以回答总是不尽人意. ...

  4. video 标签在微信浏览器的问题解决方法

    最近做的些web页面,内嵌许多小视频,在ios和安卓手机上播放时,遇到不少问题: 在微信浏览器内播放时,视频会自动全屏 如果每个视频都有一张自定义的图片作为封面,在显示视频的同时,如果没有给这个视频设 ...

  5. 用HTML5 video标签插入视频,在谷歌浏览器上播放视频时,右下角显示的下载按钮怎么去掉

    使用H5的video标签可以直接插入视频,一般在浏览器效果如下图显示: 但有时在谷歌浏览器上显示,会遇到右下角有下载按钮.如果项目要求去掉这个下载按钮,怎么办呢?如下图显示: 分析: 经本人测试,是谷 ...

  6. 解决html5中video标签无法播放mp4问题的办法

    这篇文章主要给大家介绍了关于解决html5中video标签无法播放mp4问题的办法,文中介绍的非常详细,相信会对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧. 最近发现了一个 ...

  7. [JavaScript] html5 video标签注意事项

    Chrome 66 禁止声音自动播放 声音无法自动播放这个在IOS/Android上面一直是个惯例,桌面版的Safari在2017年的11版本也宣布禁掉带有声音的多媒体自动播放功能,紧接着在2018年 ...

  8. <video>标签的特性

    以前的网页视频 过去还没有HTML5的时候,我们处理网页视频的时候,都是通过Flash插件来实现的,然而,并非所有浏览器都有同样的插件. 现在有了HTML5带来的video元素,开发者能够很方便地将视 ...

  9. html5 video标签如何禁止视频下载

    html5 video标签如何禁止视频下载 一.总结 一句话总结:bing方法给video对象绑定return false的匿名方法. 1.html5 video标签如何禁止视频下载? bing方法给 ...

随机推荐

  1. 【翻译自mos文章】执行utlpwdmg.sql之后报ORA-28003, ORA-20001, ORA-20002, ORA-20003, ORA-20004 错误

    执行utlpwdmg.sql之后报ORA-28003, ORA-20001, ORA-20002, ORA-20003, ORA-20004 错误. 适用于: Oracle Server - Ente ...

  2. Java下HttpUnit和Jsoup的Http抓取

    简单记录下:搜集信息-分析问题-解决问题 关于html文档的操作现成库有: HttpUnit 很老了,不更了 http://www.httpunit.org/  20 May 2008 HttpUni ...

  3. 开源项目WebImageView载入图片

    项目地址:https://github.com/ZaBlanc/WebImageView 作者对载入图片,以及图片的内存缓存和磁盘缓存做了封装. 代码量不多.可是可以满足一般的载入图片. 先看下项目结 ...

  4. 【Caffe】利用log文件绘制loss和accuracy(转载)

    (原文地址:http://blog.csdn.net/liuweizj12/article/details/64920428) 在训练过程中画出accuracy 和loss曲线能够更直观的观察网络训练 ...

  5. linux 安装mongo

    在Linux中安装Mongodb操作说明 MongoDB配置 版本说明:因本机所装Red Hat 为 64位操作系统故本例以64位的MongDB为例.所用版本如下: (1)    Red Hat En ...

  6. 【BZOJ1499】[NOI2005]瑰丽华尔兹 单调队列+DP

    [BZOJ1499][NOI2005]瑰丽华尔兹 Description 你跳过华尔兹吗?当音乐响起,当你随着旋律滑动舞步,是不是有一种漫步仙境的惬意?众所周知,跳华尔兹时,最重要的是有好的音乐.但是 ...

  7. 【BZOJ3963】[WF2011]MachineWorks cdq分治+斜率优化

    [BZOJ3963][WF2011]MachineWorks Description 你是任意性复杂机器公司(Arbitrarily Complex Machines, ACM)的经理,公司使用更加先 ...

  8. EasyPlayerPro Windows播放器读取xml配置文件中的特殊字符问题

    问题被反馈 今日一客户反馈说播放不了带用户名密码的流, 奇怪,这个问题不存在啊-,按照客户的说法, 是将url地址保存在配置文件中,然后再打开EasyPlayerPro运行: 问题复现 在EasyPl ...

  9. CDH使用Solr实现HBase二级索引

      一.为什么要使用Solr做二级索引二.实时查询方案三.部署流程3.1 安装HBase.Solr3.2 增加HBase复制功能3.3创建相应的 SolrCloud 集合3.4 创建 Lily HBa ...

  10. 九度OJ 1150:Counterfeit Dollar(假美元) (分析、检验)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:485 解决:215 题目描述: Sally Jones has a dozen Voyageur silver dollars. Howev ...