文档地址
选项参考
API文档
配置函数方法等
Git地址
Git地址
1.vue-video-player 插件下载
npm install vue-video-player --save
2.推流/m3u8 的前端下载
npm install --save videojs-contrib-hls
// 下面引入 位置 全部在node_modules文件依赖里面找到需要对应文件引入即可import VideoPlayer from 'vue-video-player'import 'vue-video-player/src/custom-theme.css'import 'video.js/dist/video-js.css'Vue.use(VideoPlayer)window.videojs = VideoPlayer.videojs// 全局引入中文提示require('video.js/dist/lang/zh-CN.js')//引入 hls,视频直播(m3u8)必须引入的import 'videojs-contrib-hls'//播放rtmp视频import 'videojs-flash'
type:"video/webm" // 可以播放,用oggtype:"video/ogg" // 可以播放,用webmtype:"video/3gp" // 可以播放type:"video/mp4" // 可以播放type:"video/avi" // 打不开 无法播放type:"video/flv" // 打不开 可以使用ftype:"video/mkv" // 打不开 使用videotype:"video/mov" // 打不开 使用videotype:"video/mpg" // 打不开 未测试type:"video/swf" // 打不开 未测试type:"video/ts" // 打不开 未测试type:"video/wmv" // 打不开 未测试type:"video/vob" // 没转化 未测试type:"video/mxf" // 转化出错 未测试type::"video/rm" // 转化出错 未测试
this.$refs.videoPlayer这个代表拿div上面的ref组件,后面是方法this.$refs.videoPlayer.player.pause() // 暂停视频this.$refs.videoPlayer.player.play() // 播放视频this.$refs.videoPlayer.player.playbackRate(2) // 改变播放速度 this.$refs.videoPlayer.player.currentTime(5) // 改变播放进度位置this.$refs.videoPlayer.player.volume(0.1) // 音量大小值在0-1this.$refs.videoPlayer.player.muted(true); // true 代表静音 ,fthis.playerOptions['sources'][0]['src'] = "http:url...." // 切换音视频资源路this.$refs.videoPlayer.player.load(); // 视频加载this.$refs.videoPlayer.player.requestFullscreen(); // 直接全屏 如果当this.$refs.videoPlayer.player.exitFullscreen(); // 在全屏模式下,将this.$refs.videoPlayer.player.enterFullWindow(); // 当环境不支持全屏this.$refs.videoPlayer.player.reset(); // 重置播放器this.$refs.videoPlayer.player.currentSources() // 返回当前播放源信this.$refs.videoPlayer.player.preload(val); // 获取或者设置预加this.$refs.videoPlayer.player.controls(false); // 播放控件是否显示
//添加切换清晰度 按钮// 监听播放onPlayerPlay(){this.$refs.videoPlayer.player.play() // 播放// 播放的时候判断一下 有没有 清晰度这个按钮// !this.$('#vjsControl')if(!document.getElementById('vjsControl')){this.addTool()}},addTool(){let that = thisthis.$(".vjs-control-bar").append(``)let vjsControl = document.getElementById('vjsControl')vjsControl.addEventListener('click',that.resourceClcik)// document.addEventListener()},// 切换资源resourceClcik(){let text = this.$('#vjsControl').text()if(text === '标清') {this.$('#vjsControl').text('超清')// this.playerOptions.sources[0].src = ''} else if(text === '超清') {this.$('#vjsControl').text('标清')// this.playerOptions.sources[0].src = ''}}
基础案例,可以直接复制到vue页面查看效果
是否禁止拖动进度条
可以设置,在样式里面,被注释掉了,可以打开