HTML5视频播放插件 video.js介绍
video.js是一款很流行的html5视频播放插件。很适合在移动端播放视频(比如微信网页),功能强大,且支持降级到flash,兼容ie8。官网 git&demo
看下默认例子
controls表示控制条,prload预加载,poster表示最初的显示的图片。data-set支持用json来设置一些参数。source不用说了,track指的是字幕。
这样子就出来了,在实际中我们还有其他需求。
不要字幕
需要应用novtt的js,在demo的alt文件中。这样视频控制条中就不会出现字母的选择。你不再需要页面中的track元素了。
<link href="~/js/video-js-5.11.4/alt/video-js-cdn.min.css" rel="stylesheet" /> <script src="~/js/video-js-5.11.4/alt/video.novtt.min.js"></script>
宽高自适应
开始用css自己设置,发现怎么都没有效果。视频元素不同于一般的元素,需要通过设置内在元素的比率来做到响应式的宽高。video.js提供了两种方式。
js设置一个fluid为true。
var player = videojs('video', { fluid: true }, function () { console.log('Good to go!'); this.play(); // if you don't trust aulay for some reason })
但这个还需要给video元素设置一个起始的宽高,不然开始的图片看不见。
css可以直接添加样式。有三种 .vjs-fluid,.vjs-4-3,.vjs-16-9 第一种它会自动计算,后面两种指定比率。 样式也需要设置起始宽高才能显示图片
<video id="video" class="video-js vjs-default-skin vjs-fluid" poster="http://vjs.zencdn./v/oceans.png" width="375" height="200" controls preload="none" data-setup='{ "html5" : { "nativeTextTracks" : false } }'> <source src="@Model.Url" type="video/mp4"> <p class="vjs-no-js"> 播放视频需要启用 JavaScript,推荐使用<a href="http://videojs./html5-video-support/" target="_blank">支持HTML5</a>的浏览器访问。</p> </video>
事件关注
我们一般关注开始,暂停,结束这三个事件
var player = videojs('video', { }, function () { console.log('Good to go!'); //this.play(); // if you don't trust aulay for some reason }); player.on('play', function () { console.log('开始/恢复播放'); }); player.on('pause', function () { console.log('暂停播放'); }); player.on('ended', function () { console.log('结束播放'); });
还有更新事件
player.on('timeupdate', function() { console.log(player.currentTime()); });
可以通过判断当前时间和总时间是否相等来判断视频是否结束
player.on('timeupdate', function () { // 如果 currentTime() === duration(),则视频已播放完毕 if (player.duration() != 0 && player.currentTime() === player.duration()) { // 播放结束 } });
有前辈指出在ended事件在安卓设备上没有正确触发(先备着)。
MIME类型设置
默认的iis MIME设置是没有增加mp4类型的,会出现本地播放没有问题,到了服务器上就出404错误。这需要在iis中设置MIME
常见视频格式
flv格式是加入关联扩展名.flv,内容类型application/octet-stream
f4v格式是扩展名.f4v,内容类型application/octet-stream
mp4格式是扩展名.mp4,内容类型video/mp4
ogv格式是扩展名.ogv ,内容类型video/ogg
webm格式是扩展名.webm,内容类型video/webm
设置完重启iis才能生效。
样式自定义
官方给了一个codepen的地址 可以编辑玩玩。 主要是播放按钮,控制条和进度条。默认就是上面那样。
还有这款 SublimeVideo
Flash设置
Playback技术用来在浏览器或插件中播放视频或音频文件,如果是h5会使用video或audio元素,如果是flash,会定义一个flash播放器。不止flash,还支持Silverlight、Quicktime等技术播放。可以在元素中直接定义data-setup。指定支持的技术。
<video data-setup='{"techOrder": ["html5", "flash", "other supported tech"]}'
或者使用JavaScript
videojs("videoID", { techOrder: ["html5", "flash", "other supported tech"] });
这里默认的规则是,会用第一项技术去播放,不行再使用后面的选项。比如上方html5写在第一位,就会用html5播放所有的视频。如果我们想flash优先,放在前面即可
data-setup='{ "techOrder": ["flash","html5"] }'
在页面元素中你会发现,video.js给我们使用的flash对象了。
自动播放
给video元素加上aulay属性,或者在js中加入aulay:true
<video id="video" aulay poster="/images/bk.png" width="375" height="200" controls preload="none" > </video>
或
var player = videojs('video', { aulay:true }, function () { console.log('Good to go!'); //this.play(); // 保险你还可以主动调用play() });
自动播放总让人讨厌,反之就是删除aulay属性或设置为false。
其他
video.js支持扩展插件,用起来很方便。
//定义一个插件 function examplePlugin(options) { this.on('play', function (e) { console.log('playback has started!'); }); } //注册 videojs.plugin('examplePlugin', examplePlugin); // 使用 player.examplePlugin({ exampleOption: true });
插件内部可以直接调用播放器的api。 有一款playlist的插件可以研究下,如过你需要播放列表。 以及 有这样的效果
以上所述是长沙网络推广给大家介绍的HTML5视频播放插件 video.js介绍 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,长沙网络推广会及时回复大家的。在此也非常感谢大家对狼蚁SEO网站的支持!
长沙网站设计
- 如何进行东阳SEO关键词优化?
- 边坝哪有关键词排名优化:提升你的网站流量与
- 安国百度优化服务:提升您的在线可见性
- 阜康新手做SEO怎么做
- 山西seo网站排名关键词优化:提升您网站曝光率
- 临沂seo网站排名关键词优化:提高你的网站可见
- 广西SEO网站推广怎样付费比较合理
- 双辽SEO网站推广:提升你的网站可见性与流量
- 辽宁企业网站优化购买方式有哪些
- 提升宝清百度SEO排名的实用技巧与策略
- 静宁百度SEO排名:提升您网站曝光率的关键策略
- 彭州百度SEO排名的提升策略和实施指南
- 广南百度关键词SEO:提升网站排名的关键策略
- 辽宁关键词优化怎么做论坛营销
- 吉林百度seo排名如何做到让用户满意
- 内黄百度优化服务:提升在线可见性的关键