Web视频播放之video.js

  h5这么火是有它的理由的,支持原生视频播放,但是目前兼容性还不是很好,因此使用js框架支持网站视频播放是比较不错的选择。

  下载video.js,我们可以通过官网去下,但是官网在国外,我尝试了几次均下载失败,于是使用JS神器nodeJS来下载。

1 npm i video.js

  下载好后有两个文件是我们需要的,video-js.min.css和video.min.js。

最简单的应用是这样的:

 1 <html>
 2 <head>
 3     <meta charset="utf-8">
 4     <meta name="viewport" content="width=device-width">
 5     <title>GuangSoft</title>
 6     <link href="video-js.min.css" rel="stylesheet">
 7     <script src="video.min.js"></script>
 8 </head>
 9 <body>
10   <video id="videoContainer" class="video-js" controls preload="none" width="640" height="264" poster="logo.png" data-setup="{}">
11     <source src="1.mp4" type="video/mp4">
12   </video>
13 </body>
14 </html>

效果如下:

  嗯,有效果,好的,可以继续探讨一下播放器参数了,我们的代码编程这样:

 1 <html>
 2 <head>
 3     <meta charset="utf-8">
 4     <meta name="viewport" content="width=device-width">
 5     <title>GuangSoft</title>
 6     <link href="video-js.min.css" rel="stylesheet">
 7     <script src="video.min.js"></script>
 8 </head>
 9 <body>
10   <video id="videoContainer" class="video-js">
11   <script>
12     var options = {
13         sources : [{
14             src : "1.mp4",
15             type : "video/mp4"
16         }],
17         //是否显示控制条
18         controls : true,      
19         //播放器高度
20         height : 264, 
21         //播放器宽度
22         width : 640,
23         //是否循环播放
24         loop : false,
25         //是否静音
26         muted: false,
27         //播放前显示的封面图片,通常为logo
28         poster : "logo.png",
29         //预加载:auto自动加载、metadata加载元数据信息视频尺寸等、none不加载任何信息
30         preload : "none",
31         //是否缩放视频以适应播放器大小
32         fluid : false,
33         //是否自动播放,大多浏览器屏蔽此功能
34         autoplay : false,
35         //是否初始化时进入全屏,大多数浏览器屏蔽此功能
36         isFullscreen : false
37     };
38     function onPlayReady() {
39         //播放无效,因为以chrome为首的绝大数浏览器拒接非用户触发的自动播放
40         //this.play();
41         //音量调整0-1之间
42         this.volume(0.5);
43         this.on("ended", function() {
44             //类似console.log();
45             videojs.log("播放结束!");
46         })
47     }
48     videojs('videoContainer', options, onPlayReady);
49   </script>
50 </body>
51 </html>
原文地址:https://www.cnblogs.com/guanghe/p/10476539.html