前端m3u8格式视频播放

video-js.min.css

video.min.js

videojs-contrib-hls.js

前人栽树后人乘凉。首先引入这三个js

<video id="my-video" width=960 height=600 class="video-js vjs-default-skin" controls>
</video>

然后写入视频属性

var options={
        playbackRates: [0.5,1,1.25,1.5,1.75,2],
        controlBar: {
            volumePanel: {
                inline: false //默认是true,横着的
            },
            children: [
                {name: 'playToggle'}, // 播放按钮
                {name: 'currentTimeDisplay'}, // 当前已播放时间
                {name: 'progressControl'}, // 播放进度条
                {name: 'durationDisplay'}, // 总时间
                { // 倍数播放
                    name: 'playbackRateMenuButton',
                    'playbackRates': [0.5, 1, 1.5, 2, 2.5]
                },
                {
                    name: 'volumePanel', // 音量控制
                    inline: false, // 不使用水平方式
                },
                {name: 'FullscreenToggle'} // 全屏
            ]
        },
        sources: [//视频播放源,建议本地
            {
                src: '',
                type: "application/x-mpegURL"
            },
        ]
    };

初始化视频并进行监测

var playerVideo = videojs("my-video", options, function onPlayerReady(param) {
            this.on('pause', function () {
                console.log('暂停播放');
            });
            this.on('ended', function() {//播放结束
                console.log("播放结束");
            });
             this.on('waiting', function () {
                console.log('等待加载');
             })
            this.on('play', function () {
                console.log('开始播放');
            });
            this.on("ratechange", function(){
                 console.log("播放速率改变")
             });
            this.on("stalled",function(){
                console.log("网速异常");
             })
        });

 在检测里面调用对应的逻辑函数。

获取当前视频播放时间:

playerVideo.currentTime()

获取当前视频长度:

playerVideo.duration()

隐藏视频播放进度条:

        .video-js .vjs-control-bar{ /* 控制条默认显示 */
            display: flex;
        }
        .video-js .vjs-progress-control{
            display:none;
        }
        .video-js .vjs-time-control{display:none;}
        .video-js .vjs-remaining-time{display: none;}

影响后防止拖动视频等操作。

如果想遮挡住该页面后暂停视频或调用函数请看另下篇文章。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值