欢迎光临
我们一直在努力

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

注:Typecho1.1新版本的Markdown语法不兼容导致原生HTML5视频标签解析播放失败的解决方法已经给出:https://inwao.com/Markdown.html

最新解决方法:查看程序目录/var/Markdown.php的代码

第37行

$parser->_commonWhiteList .= ‘|img|cite|embed|iframe’;

改成

$parser->_commonWhiteList .= ‘|img|cite|embed|iframe|video|source’;

效果预览:https://inwao.com/Unbroken.html

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

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

HTML5 Video标签的使用

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

(1) src属性和poster属性

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

<video width=”658″ height=”444″ src=”https://googlo.in/usr/uploads/2017/03/1537548116.mp4″poster=”https://googlo.in/usr/uploads/2017/03/4008215693.jpg”></video>

(2) preload属性

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

<video width=”658″ height=”444″ src=”https://googlo.in/usr/uploads/2017/03/1537548116.mp4″ poster=”https://googlo.in/usr/uploads/2017/03/4008215693.jpg” preload=”auto”></video>

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

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

Auto:全部预加载。

(3) controls属性

<video width=”658″ height=”444″ poster=”https://googlo.in/usr/uploads/2017/03/4008215693.jpg” preload=”none” controls=”controls”><source src=”https://googlo.in/usr/uploads/2017/03/1537548116.mp4″ /></video>

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

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

(4) width属性和height属性

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

(5) source标签

<video width=”658″ height=”444″ poster=”https://googlo.in/usr/uploads/2017/03/4008215693.jpg” preload=”none” controls=”controls”><source src=”https://googlo.in/usr/uploads/2017/03/1537548116.mp4″ /></video>

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

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

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

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

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

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

(6) 一个完整的例子

<video width=”658″ height=”444″ poster=”https://googlo.in/usr/uploads/2017/03/4008215693.jpg” preload=”none” controls=”controls”><source src=”https://googlo.in/usr/uploads/2017/03/1537548116.mp4″ /></video>

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

效果预览:https://inwao.com/Unbroken.html

赞(0)
未经允许不得转载:老徐小屋老徐小屋 » Typecho利用HTML5代码实现本地视频播放
分享到: 更多 (0)