【下载安装】
虽然在github上可以很容易找到video.js,但直接下载下来的话,一是东西很多很乱,二是无法使用。可以使用npm下载,直接npm install video.js即可安装。然后到node_modules目录(一般在C:\Users\用户名\node_modules)里面找到video.js目录,拷贝出来即可使用。
【配置案例】
先看代码:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <title>Video.js</title> <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <link href="video.js/dist/video-js.css" rel="stylesheet" type="text/css" /> <script src="video.js/dist/video.js"></script> <style type="text/css" media="screen" id="test"> .vjs-big-play-button, .vjs-paused.vjs-has-started .vjs-big-play-button { display: block; } .video-js .vjs-big-play-button{ font-size: 2.5em; line-height: 2.3em; height: 2.5em; width: 2.5em; -webkit-border-radius: 2.5em; -moz-border-radius: 2.5em; border-radius: 2.5em; background-color: #73859f; background-color: rgba(115,133,159,.5); border-width: 0.15em; margin-top: -1.25em; margin-left: -1.75em; } /* 中间的播放箭头 */ .vjs-big-play-button .vjs-icon-placeholder { font-size: 1.63em; } /* 加载圆圈 */ .vjs-loading-spinner { font-size: 2.5em; width: 2em; height: 2em; border-radius: 1em; margin-top: -1em; margin-left: -1.5em; } </style> </head> <body> <video id="video" class="video-js vjs-big-play-button vjs-default-skin vjs-big-play-centered"> <source src="http://h5player.bytedance.com/video/mp4/xgplayer-demo-720p.mp4"></source> </video> <div id="vue"> <div class="test"> <p>视频总时长:{{totalTime}} <p>当前播放时间:{{currTime}} <p>是否播放完毕:{{isFinished}} <p>拖拽: <span v-if="isDrag==1" onclick="disableDrag()">已开启,点击关闭</span> <span v-if="isDrag==0" onclick="enableDrag()">已关闭,点击开启</span> </div> </div> <script type="text/javascript"> var vue = new Vue({ el: '#vue', data: { totalTime: 0, currTime: 0, isFinished: 0, isDrag: 1, } }) var playOptions = { controls: true, //显示控制条 poster: '', //封面url fluid: true, //大小自适应 autoplay: false, //自动播放 playbackRates: [0.5, 1, 1.5, 2], //倍率 } var player = videojs('video', playOptions, function onPlayerReady() { console.log('准备好了,播放吧'); //this.play(); if( player.readyState() >= 0 ){ player.one("loadedmetadata", function(){ console.log('视频总时长:' + player.duration()); vue.totalTime = player.duration(); }); } }) player.on('play', function() { }); //拖动 player.on( 'seeking', function(){ //拖动到未播放过的区域,自动跳回 var oldTime = vue.currTime; var newtime = player.currentTime(); console.log('oldTime: ' + oldTime); console.log('newtime: ' + newtime); if( vue.isDrag==0 && player.currentTime() > vue.currTime ){ player.currentTime(vue.currTime); } }) //播放时间更新 player.on('timeupdate', function() { //获取当前播放进度 vue.currTime = player.currentTime() //获取视频总时长 vue.totalTime = player.duration() }); //播放结束 player.on( 'ended', function(){ vue.isFinished = 1; }) //开启和关闭拖动 function enableDrag(){ vue.isDrag = 1; } function disableDrag(){ vue.isDrag = 0; } </script> </body> </html>
【说明】
CSS部分:
用于控制播放按钮默认居中,且弄成圆形的。
HTML部分:
跟常规的video标签没有什么区别,主要加了几个class。
JS部分:
playOptions,可以用于设置初始化video.js player时的诸多选项,非常有用。相关参数的备注已经直接写在代码后面了。
var player = videojs(...),用于初始化播放器。
player.on('play', function() {}),可以把play换成其它事件,完成对播放器的各种事件监听。
方法/属性,都是使用类似于player.readyState()的方法来实现的,比如获取整个视频的总长度:player.duration(),当前视频的播放进度:player.currentTime()。
【官网】
https://videojs.com/advanced/
更多的技术细节可以参考官网的说明文档。
关于video.js视频播放器的使用,本教程就介绍这么多,抛砖引玉,多多包含!
要饭二维码
洪哥写文章很苦逼,如果本文对您略有帮助,可以扫描下方二维码支持洪哥!金额随意,先行谢过!大家的支持是我前进的动力!

文章的版权
本文属于“洪哥笔记”原创文章,转载请注明来源地址:video.js视频播放器的使用教程:http://www.splaybow.com/post/video-js-player-jiaocheng-1521.html
如果您在服务器运维、网络管理、网站或系统开发过程有需要提供收费服务,请加QQ:8771947!十年运维经验,帮您省钱、让您放心!
亲,如果有需要,先存起来,方便以后再看啊!加入收藏夹的话,按Ctrl+D!
发布时间:2020/11/1 7:46:18 | 编辑:洪哥 | 分类:DHTML | 浏览: