详解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 相关文章推荐
JavaScript 监听textarea中按键事件
Oct 08 Javascript
解析javascript 数组以及json元素的添加删除
Jun 26 Javascript
jQuery(js)获取文字宽度(显示长度)示例代码
Dec 31 Javascript
js判断设备是否为PC并调整图片大小
Feb 12 Javascript
JavaScript通过事件代理高亮显示表格行的方法
May 27 Javascript
JS实现支持多选的遍历下拉列表代码
Aug 20 Javascript
javascirpt实现2个iframe之间传值的方法
Jun 30 Javascript
javascript函数的节流[throttle]与防抖[debounce]
Nov 15 Javascript
webpack dll打包重复问题优化的解决
Oct 10 Javascript
vue下拉菜单组件(含搜索)的实现代码
Nov 25 Javascript
微信小程序自定义弹出模态框禁止底部滚动功能
Mar 09 Javascript
Vue全家桶入门基础教程
May 14 Vue.js
使用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
php中全局变量global的使用演示代码
2011/05/18 PHP
php array_filter除去数组中的空字符元素
2020/06/21 PHP
php生成二维码的几种方式整理及使用实例
2013/06/03 PHP
php处理静态页面:页面设置缓存时间实例
2017/06/22 PHP
javascript 表单的友好用户体现
2009/01/07 Javascript
jQuery中操控hidden、disable等无值属性的方法
2014/01/06 Javascript
实例分析javascript中的call()和apply()方法
2014/11/28 Javascript
JavaScript设计模式之外观模式介绍
2014/12/28 Javascript
javascript中in运算符用法分析
2015/04/28 Javascript
javascript中Array()数组函数详解
2015/08/23 Javascript
全面解析Bootstrap图片轮播效果
2015/12/03 Javascript
总结AngularJS开发者最常犯的十个错误
2016/08/31 Javascript
JS实现加载时锁定HTML页面元素的方法
2017/06/24 Javascript
AngularJS中使用three.js的实例详解
2017/07/21 Javascript
小程序视频或音频自定义可拖拽进度条的示例代码
2018/09/30 Javascript
JavaScript对JSON数组简单排序操作示例
2019/01/31 Javascript
JS实现滚动条触底加载更多
2019/09/19 Javascript
js判断复选框是否选中的方法示例【基于jQuery】
2019/10/10 jQuery
vue input标签通用指令校验的实现
2019/11/05 Javascript
JavaScript实现烟花绽放动画效果
2020/08/04 Javascript
Python中的True,False条件判断实例分析
2015/01/12 Python
Python编程之黑板上排列组合,你舍得解开吗
2017/10/30 Python
用python处理图片之打开\显示\保存图像的方法
2018/05/04 Python
Python面向对象之类和实例用法分析
2019/06/08 Python
Python通用函数实现数组计算的方法
2019/06/13 Python
利用Python代码实现一键抠背景功能
2019/12/29 Python
python读取与处理netcdf数据方式
2020/02/14 Python
快速解决jupyter notebook启动需要密码的问题
2020/04/21 Python
matplotlib基础绘图命令之errorbar的使用
2020/08/13 Python
经典c++面试题四
2015/05/14 面试题
金融事务专业毕业生求职信
2014/02/23 职场文书
电脑售后服务承诺书
2014/03/27 职场文书
暂停营业通知
2015/04/25 职场文书
创业计划书之儿童理发店
2019/09/27 职场文书
jQuery class属性操作addClass()与removeClass()、hasClass()、toggleClass()
2021/03/31 jQuery
MySQL数据库表约束讲解
2022/06/21 MySQL