sep.cc 如涉及侵权内容,请联系 cyclists@outlook.com

Typecho利用HTML5代码实现本地视频播放

注:Typecho1.1新版本的Markdown语法不兼容导致原生HTML5视频标签解析播放失败的解决方法已经给出:点击直达链接

其实之前我一直在用羽中的视频播放插件JWPlayer,效果感觉不够理想,点击全屏播放时不能完全全屏,有时候播放转换MP4视频无法解析,分析JWPlayer插件时,发现利用的正是HTML5,何不直接使用HTML5实现更简单更纯粹的播放效果呢?

html5-copy.png

在自己分析过程中,我只用到自己常用的标签属性,如果有其他属性,其实都可以添加的。

HTML5 Video标签的使用

本人自用Video标签含有src、poster、preload、controls、width、height等几个属性, 以及一个内部使用的标签。

(1) src属性和poster属性

你能想象src属性是用来干啥的。跟标签的一样,这个属性用于指定视频的地址。而poster属性用于指定一张图片,在当前视频数据无效时显示(预览图)。视频数据无效可能是视频正在加载,可能是视频地址错误等等。

<video width="658" height="444" src="https://sep.cc/usr/xxx.mp4"poster="https://sep.cc/usr/xxx.jpg"></video>

(2) preload属性

这个属性也能通过名字了解用处,此属性用于定义视频是否预加载。属性有三个可选择的值:none、metadata、auto。如果不使用此属性,默认为auto。

<video width="658" height="444" src="https://sep.cc/usr/xxx.mp4" poster="https://sep.cc/usr/xxx.jpg" preload="auto"></video>

None:不进行预加载。使用此属性值,可能是页面制作者认为用户不期望此视频,或者减少HTTP请求。

Metadata:部分预加载。使用此属性值,代表页面制作者认为用户不期望此视频,但为用户提供一些元数据。

Auto:全部预加载。

(3) controls属性

<video width="658" height="444" poster="https://sep.cc/usr/xxx.jpg" preload="none" controls="controls"><source src="https://sep.cc/usr/xxx.mp4" /></video>

Controls属性用于向浏览器指明页面制作者没有使用脚本生成播放控制器,需要浏览器启用本身的播放控制栏。

控制栏须包括播放暂停控制,播放进度控制,音量控制等等。

(4) width属性和height属性

width属性为视频的宽度,height属性为视频的高度,此标签不做过多讲解。

(5) source标签

<video width="658" height="444" poster="https://sep.cc/usr/xxx.jpg" preload="none" controls="controls"><source src="https://sep.cc/usr/xxx.mp4" /></video>

Source标签用于给媒体(因为audio标签同样可以包含此标签,所以这儿用媒体,而不是视频)指定多个可选择的(浏览器最终只能选一个)文件地址,且只能在媒体标签没有使用src属性时使用。

浏览器按source标签的顺序检测标签指定的视频是否能够播放(可能是视频格式不支持,视频不存在等等),如果不能播放,换下一个。此方法多用于兼容不同的浏览器。Source标签本身不代表任何含义,不能单独出现。

此标签包含src、type、media三个属性。

src属性:用于指定媒体的地址,和video标签的一样。

Type属性:用于说明src属性指定媒体的类型,帮助浏览器在获取媒体前判断是否支持此类别的媒体格式。

Media属性:用于说明媒体在何种媒介中使用,不设置时默认值为all,表示支持所有媒介。

(6) 一个完整的例子

<video width="658" height="444" poster="https://sep.cc/usr/xxx.jpg" preload="none" controls="controls"><source src="https://sep.cc/usr/xxx.mp4" /></video>

注:自行替换链接为自己的域名链接地址!

效果预览:https://sep.cc/Unbroken.html

最后编辑:2021年9月07日 00:20:56「本站部分内容具有时效性,如遇失效请留言反馈」

转载声明:本站所有内容采用 CC BY-NC-SA 国际许可协议,转载请注明来源:Sep blog,谢谢!

版权声明:如文章内容涉及侵权,请联系 cyclists@outlook.com,待查证属实之后会立刻删除侵权内容。

评论 (4)
  1. avatar
    沙发
    donghaichen 2018-03-28 18:27

    https://sep.cc/Markdown.html该直达链接里的插件目前最新的typecho不能用 我看了下
    /var/Markdown.php的代码
    在第37行
    $parser->_commonWhiteList .= ‘|img|cite|embed|iframe’;
    改成
    $parser->_commonWhiteList .= ‘|img|cite|embed|iframe|video|source’;
    就可以了

  2. avatar
    板凳
    owen 2017-10-30 22:59