当前位置: 首页 > JQ > Video.js插件切换视频源并操作m3u8格式视频

Video.js插件切换视频源并操作m3u8格式视频

admin
  • admin
  • 2021-01-19
  • 435字
  • 446次浏览
  • 2赞
  • 无评论
Video.js插件切换视频源并操作m3u8格式视频

ideojs更改视频源很简单,利用如下代码即可。

myPlayer.src({src: "xinlingjitang.m3u8", type: "application/x-mpegURL"});

其中src是视频的地址,我这里视频和网页放在一个地址下,所以直接填的名字。

type的话是视频类型,m3u8的话填上面的格式就行了。

切换视频源实例:

    <html>
    <head>
    <meta charset="utf-8">
    <title>Video.js 6.2.8</title>
        <link href="css/video-js.css" rel="stylesheet">    
        <script type="text/javascript" src="js/jquery-1.8.3.js" ></script>
        <style>
            .m{ width: 740px; height: 400px; margin-left: auto; margin-right: auto; margin-top: 100px; }
        </style>
        
    </head>
     
    <body>
        <div class="m">
            <video id="my-video" class="video-js" controls preload="auto" width="740" height="400"
              poster="m.png" data-setup="{}">
            </video>
        </div>
    </body>
    <script src="js/video.min.js"></script>
    <script src="js/videojs-contrib-hls.js"></script>
    <script type="text/javascript">
                var videoObj = videojs('my-video');
                var option={};
                /*option只是一个参数,function onPlayerReady就是播放器初始化完成时会执行的回调函数*/
                var myPlayer = videojs('my-video',option,function onPlayerReady(){
                    var myPlayer = this;
                    myPlayer.src({src: "xinlingjitang.m3u8", type: "application/x-mpegURL"});
                    this.play();
                });
                
    </script>
    </html>

api的部分应用实例

注意必须用videojs获取的实例才能调用方法,用jq获取的对象不行。

    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>Video.js 6.2.8</title>
        <link href="css/video-js.css" rel="stylesheet">    
        <style>
            .m{ width: 740px; height: 400px; margin-left: auto; margin-right: auto; margin-top: 100px; }
        </style>
        <script type="text/javascript" src="js/jquery-1.8.3.js" ></script>
    </head>
     
    <body>
        <div class="m">
            <video id="my-video" class="video-js" controls preload="auto" width="740" height="400"
              poster="m.png" data-setup="{}">
     
                <p class="vjs-no-js">
                  To view this video please enable JavaScript, and consider upgrading to a web browser that
                  <a href="http://videojs.com/html5-video-support/" target="_blank">supports HTML5 video</a>
                </p>
             </video>
             <input type="button" value="跳转进度" onclick="tiaozhuan1()" />
             <input type="button" value="获取进度" onclick="huoqu1()" />
             <input type="button" value="切换视频" onclick="qiehuan1()" />
             <input type="button" value="获取时间" onclick="huoqushijian1()" />
        </div>
    </body>
    <script src="js/video.min.js"></script>
    <script src="js/videojs-contrib-hls.js"></script>
    <script type="text/javascript">
                var videoObj = videojs('my-video');
                var option={};
                var myPlayer = videojs('my-video',option,function onPlayerReady(){
                    var myPlayer = this;
                    myPlayer.src({src: "xinlingjitang.m3u8", type: "application/x-mpegURL"});
                    videojs.log("播放器已经准备好了!");
                    this.play();
                });
                /*让视频跳转到一个进度,单位是秒*/
                function tiaozhuan1(){
                    videoObj.currentTime(120);    
                }
                /*currentTime是获取当前视频的播放时间,我这里让它转成了xx:xx:xx的格式*/
                function huoqu1(){
                    var videoTime = videoObj.currentTime();
                    //获取视频有几个小时
                    var h = Math.floor(videoTime / 3600);
                    //获取视频有多少分钟
                    var m = Math.floor(videoTime % 3600 / 60);
                    //获取视频有多少秒
                    var s = Math.floor(videoTime % 60);
                    //将视频格式化为xx:xx:xx,比如1个小时12分钟11秒的视频就是01:12:11
                    console.log((h < 10 ? '0' + h : h) + ':' + (m < 10 ? '0' + m : m) + ':' + (s < 10 ? '0' + s : s));
                    console.log(videoTime);
                }
                /*这里我切换了一个新的视频源*/
                function qiehuan1(){
                    videoObj.src({src: "index.m3u8", type: "application/x-mpegURL"});
                }
                /*这样可以获取视频的总长度,单位是秒*/
                function huoqushijian1(){
                    var howLongIsThis = videoObj.duration();
                    console.log(howLongIsThis);
                    
                }
                /*这样是再加载视频时会执行的函数,每次切换视频源都会调用此函数*/
                videoObj.on("loadedmetadata",function(){
                    console.log("正在读取配置信息")
                });
                
    </script>
    </html>

视频api补充介绍

播放:

myPlayer.play();

暂停:

myPlayer.pause();

获取播放进度:


var whereYouAt = myPlayer.currentTime();

设置播放进度:

myPlayer.currentTime(120);

视频持续时间,加载完成视频才可以知道视频时长,且在flash情况下无效

var howLongIsThis = myPlayer.duration();

缓冲,就是返回下载了多少

var whatHasBeenBuffered = myPlayer.buffered();

百分比的缓冲

var howMuchIsDownloaded = myPlayer.bufferedPercent();

声音大小(0-1之间)

var howLoudIsIt = myPlayer.volume();

设置声音大小

myPlayer.volume(0.5);

取得视频的宽度

var howWideIsIt = myPlayer.width();

设置宽度:

myPlayer.width(640);

获取高度

var howTallIsIt = myPlayer.height();

设置高度:

myPlayer.height(480);

一步到位的设置大小:

myPlayer.size(640,480);

全屏

myPlayer.enterFullScreen();

离开全屏

myPlayer.enterFullScreen();

添加事件

    durationchange
    ended //播放结束
    firstplay
    fullscreenchange
    loadedalldata
    loadeddata
    loadedmetadata
    loadstart
    pause //暂停
    play  //播放
    progress
    seeked
    seeking
    timeupdate
    volumechange
    waiting
    resize inherited
     
    var myFunc = function(){
    // Do something when the event is fired
    };

事件绑定

    myPlayer.on("ended", function(){
        console.log("end", this.currentTime());
    });
    myPlayer.on("pause", function(){
        console.log("pause")
    });

删除事件

myPlayer.removeEvent(“eventName”, myFunc);

标签: JavaScript, HTML, jq

本文已 超过1年没有更新,如果文章内容或图片资源失效,请留言反馈,我们会及时处理。

页面

相关文章

评论啦~

文章目录

分享

板块设置

背景:
纸色:
字体色:
cookie音乐:
切换模式: