js 手机 视频 js 兼容
视频播放器在不支持video标签就自动使用flash,达到兼容ie8效果:
http://videojs.com/getting-started/

https://sdeno.com/wp-content/uploads/2020/02/videojs.zip
自适应
var player = videojs('video', { fluid: true }, function () { //id="video" console.log('Good to go!'); this.play(); // if you don't trust autoplay for some reason })
开始,暂停,结束
<video id="example_video_1" class="video-js vjs-big-play-centered vjs-default-skin" controls preload="none" data-setup="{}"> </video> var player = videojs('video', { width:1000,//宽string|number height:450,//高:string|number controls:true,//控制条:boolean preload:"none",//预加载:string;'auto'|'true'|'metadata'|'none' poster:'source/suoluetu.jpg',//预览图:string autoplay:false,//自动播放:boolean loop:true,//循环:boolean muted:true,//静音:boolean sources:[ { src:'source/test.mp4', type:'video/mp4' } ], controlBar: { muteToggle: false, volumeMenuButton:false//静音按钮 } }, function () { console.log('Good to go!'); //this.play(); // if you don't trust autoplay for some reason player.src('http://www.xx.com/1.mp4'); //动态加载视频 this.on('ended',function(){ //播放结束后回调 }); }); 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()) { // 播放结束 } });
iis 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才能生效。
设置默认使用html5还是flash技术优先级:
video.js默认会使用html5技术优先,但我们可以设置为flash优先,如:
<video data-setup='{"techOrder": ["flash", "html5", "other supported tech"]}'
或者
videojs("videoID", { techOrder: ["flash", "html5", "other supported tech"] });
自动播放:
<video id="video" autoplay> </video>
或者
var player = videojs('video', { autoplay:true }, function () { console.log('Good to go!'); //this.play(); // 保险你还可以主动调用play() });
添加自定义方法:
//定义一个插件 function examplePlugin(options) { this.on('play', function (e) { console.log('playback has started!'); }); } //注册 videojs.plugin('examplePlugin', examplePlugin); // 使用 player.examplePlugin({ exampleOption: true });
插件内部可以直接调用播放器的api。 有一款playlist的插件可以研究下,如过你需要播放列表。https://github.com/brightcove/videojs-playlist 以及 http://videojs.com/advanced/ 有这样的效果:

官方文档:
参考博客:
http://www.tuicool.com/articles/7jYvQrR
http://blog.videojs.com/Video-js-5-s-fluid-mode-and-playlist-picker/