详解vue-video-player使用心得(兼容m3u8)


Posted in Javascript onAugust 23, 2019

下载vue-video-player

npm install vue-video-player --save

在main.js文件引入

import VideoPlayer from 'vue-video-player'
require('video.js/dist/video-js.css')
require('vue-video-player/src/custom-theme.css')
Vue.use(VideoPlayer)

在页面中引入

<video-player
    ref="videoPlayer"
    class="video-player vjs-custom-skin"
    :playsinline="true"
    :options="playerOptions"
    @play="onPlayerPlay($event)"//监听开始状态
    @pause="onPlayerPause($event)"//监听暂停状态
   />

在页面中data中配置

playerOptions: {
    // playbackRates: [0.7, 1.0, 1.5, 2.0], //播放速度
    autoplay: false, // 如果true,浏览器准备好时开始回放。
    muted: false, // 默认情况下将会消除任何音频。
    loop: false, // 导致视频一结束就重新开始。
    preload: 'auto', // 建议浏览器在<video>加载元素后是否应该开始下载视频数据。auto浏览器选择最佳行为,立即开始加载视频(如果浏览器支持)
    language: 'zh-CN',
    aspectRatio: '16:9', // 将播放器置于流畅模式,并在计算播放器的动态大小时使用该值。值应该代表一个比例 - 用冒号分隔的两个数字(例如"16:9"或"4:3")
    fluid: true, // 当true时,Video.js player将拥有流体大小。换句话说,它将按比例缩放以适应其容器。
    sources: [
      {
       type: 'video/mp4', // 这里的种类支持很多种:基本视频格式、直播、流媒体等,具体可以参看git网址项目
       src: 'https://cdn.theguardian.tv/webM/2015/07/20/150716YesMen_synd_768k_vp8.webm' // url地址
      }
    ],
    hls: true,
    poster: 'http://pic33.nipic.com/20131007/13639685_123501617185_2.jpg', // 你的封面地址
    width: document.documentElement.clientWidth, // 播放器宽度
    notSupportedMessage: '此视频暂无法播放,请稍后再试', // 允许覆盖Video.js无法播放媒体源时显示的默认信息。
    controlBar: {
     timeDivider: true,
     durationDisplay: true,
     remainingTimeDisplay: false,
     fullscreenToggle: true // 全屏按钮
    }
   },

挂载视频组件(非必须)不写这一步也可以实现播放,添加这个是为了自定义按钮使用

computed: {
  player() {
   return this.$refs.videoPlayer.player//自定义播放
  }
 },

官方文档

video.js:https://docs.videojs.com/docs/api/player.html
vue-video-player:https://github.com/surmon-china/vue-video-player

不需要兼容m3u8的,以上就可以实现能播放

兼容m3u8的需要下载

npm install --save videojs-contrib-hls

在文件中引入

import ‘videojs-contrib-hls'

我这么引入会出现找不到文件,我没找到问题所在,如果这么引入不行,可以改为

在main.js文件中

const hls = require('videojs-contrib-hls')
Vue.use(hls)

这样就好了

在页面中测试

{
      type: 'application/x-mpegURL', // 这里的种类支持很多种:基本视频格式、直播、流媒体等,具体可以参看git网址项目
      src:
       'https://cdn.letv-cdn.com/2018/12/05/JOCeEEUuoteFrjCg/playlist.m3u8' // url地址,从别的博主那看来的地址,亲测可用
     }

至此就可以播放了

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
基于mootools 1.3框架下的图片滑动效果代码
Apr 22 Javascript
javascript HTML+CSS实现经典橙色导航菜单
Feb 16 Javascript
Javascript设计模式之观察者模式(推荐)
Mar 29 Javascript
使用Curl命令查看请求响应时间方法
Nov 04 Javascript
AngularJS的ng-repeat指令与scope继承关系实例详解
Jan 21 Javascript
Vue中添加过渡效果的方法
Mar 16 Javascript
axios学习教程全攻略
Mar 26 Javascript
使用vue点击li,获取当前点击li父辈元素的属性值方法
Sep 12 Javascript
微信小程序实现多选功能
Nov 04 Javascript
如何自定义微信小程序tabbar上边框的颜色
Jul 09 Javascript
vue项目proxyTable配置和部署服务器
Apr 14 Vue.js
浅析JavaScript中的变量提升
Jun 01 Javascript
使用vue实现多规格选择实例(SKU)
Aug 23 #Javascript
jquery分页优化操作实例分析
Aug 23 #jQuery
jquery实现的分页显示功能示例
Aug 23 #jQuery
微信小程序 子级页面返回父级并把子级参数带回父级实现方法
Aug 22 #Javascript
通过扫小程序码实现网站登陆功能
Aug 22 #Javascript
vue中实现上传文件给后台实例详解
Aug 22 #Javascript
js的新生代垃圾回收知识点总结
Aug 22 #Javascript
You might like
阿拉伯的咖啡与水烟
2021/03/03 咖啡文化
php之对抗Web扫描器的脚本技巧
2008/10/01 PHP
PHP中new static()与new self()的区别异同分析
2014/08/22 PHP
控制打印时页眉角的代码
2007/02/08 Javascript
JS 如果改变span标签的是否隐藏属性
2011/10/06 Javascript
jquery将一个表单序列化为一个对象的方法
2013/12/02 Javascript
JavaScript异步加载浅析
2014/12/28 Javascript
原生JS和JQuery动态添加、删除表格行的方法
2015/05/28 Javascript
js实现点击向下展开的下拉菜单效果代码
2015/09/01 Javascript
js阻止默认浏览器行为与冒泡行为的实现代码
2016/05/15 Javascript
详解JavaScript中this关键字的用法
2016/05/26 Javascript
彻底搞懂JavaScript中的apply和call方法(必看)
2017/09/18 Javascript
Node.js学习之查询字符串解析querystring详解
2017/09/28 Javascript
不使用 JS 匿名函数理由
2017/11/17 Javascript
微信小程序生成分享海报方法(附带二维码生成)
2019/03/29 Javascript
python创建关联数组(字典)的方法
2015/05/04 Python
Python cookbook(数据结构与算法)在字典中将键映射到多个值上的方法
2018/02/18 Python
python实现自动登录
2018/09/17 Python
Python 忽略warning的输出方法
2018/10/18 Python
Python使用crontab模块设置和清除定时任务操作详解
2019/04/09 Python
python groupby 函数 as_index详解
2019/12/16 Python
Python集合操作方法详解
2020/02/09 Python
python绘制封闭多边形教程
2020/02/18 Python
浅析python中的del用法
2020/09/02 Python
Otel.com:折扣酒店预订
2017/08/24 全球购物
澳大利亚在线时尚精品店:Hello Molly
2018/02/26 全球购物
L*SPACE官网:比基尼、泳装和度假服装
2019/03/18 全球购物
数学国培研修感言
2014/02/13 职场文书
网络管理员岗位职责
2014/03/17 职场文书
内勤主管岗位职责
2014/04/03 职场文书
岗位说明书怎么写
2014/07/30 职场文书
党员领导干部民主生活会批评与自我批评发言
2014/09/28 职场文书
聚会通知怎么写
2015/04/23 职场文书
2015年教师国培感言
2015/08/01 职场文书
解析MySQL binlog
2021/06/11 MySQL
Golang Web 框架Iris安装部署
2022/08/14 Python