详解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 相关文章推荐
用JS写的一个TableView控件代码
Jan 23 Javascript
asp.net+js 实现无刷新上传解析csv文件的代码
May 17 Javascript
JavaScript字符串String和Array操作的有趣方法
Dec 18 Javascript
Javascript中的五种数据类型详解
Dec 26 Javascript
JS实现自动变化的导航菜单效果代码
Sep 09 Javascript
微信QQ的二维码登录原理js代码解析
Jun 23 Javascript
JavaScript  event对象整理及详细介绍
Oct 10 Javascript
jQuery图片加载显示loading效果
Nov 04 Javascript
浅析JavaScript中的特殊数据类型
Dec 15 Javascript
VUEJS 2.0 子组件访问/调用父组件的实例
Feb 10 Javascript
微信小程序实现的动态设置导航栏标题功能示例
Jan 31 Javascript
解决 window.onload 被覆盖的问题方法
Jan 14 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
php下使用strpos需要注意 === 运算符
2010/07/17 PHP
PHP高级对象构建 工厂模式的使用
2012/02/05 PHP
解析PHP中的内存管理,PHP动态分配和释放内存
2013/06/28 PHP
解析PHP跳出循环的方法以及continue、break、exit的区别介绍
2013/07/01 PHP
将酷狗krc歌词解析并转换为lrc歌词php源码
2014/06/20 PHP
浅谈php和.net的区别
2014/09/28 PHP
PHP判断用户是否已经登录(跳转到不同页面或者执行不同动作)
2016/09/22 PHP
php使用curl下载指定大小的文件实例代码
2017/09/30 PHP
phpstorm激活码2020附使用详细教程
2020/09/25 PHP
JavaScript使用prototype定义对象类型
2007/02/07 Javascript
JavaScript Event事件学习第一章 Event介绍
2010/02/07 Javascript
JQuery获取各种宽度、高度(format函数)实例
2013/03/04 Javascript
Javascript 高阶函数使用介绍
2015/06/15 Javascript
js实现搜索框关键字智能匹配代码
2020/03/26 Javascript
JavaScript必知必会(七)js对象继承
2016/06/08 Javascript
JS高级运动实例分析
2016/12/20 Javascript
webpack2.0搭建前端项目的教程详解
2017/04/05 Javascript
vue 自定义提示框(Toast)组件的实现代码
2018/08/17 Javascript
微信小程序实现定位及到指定位置导航的示例代码
2019/08/20 Javascript
Echarts在Taro微信小程序开发中的踩坑记录
2020/11/09 Javascript
vue项目配置 webpack-obfuscator 进行代码加密混淆的实现
2021/02/26 Vue.js
Python返回真假值(True or False)小技巧
2015/04/10 Python
Python进阶之递归函数的用法及其示例
2018/01/31 Python
Python实现Event回调机制的方法
2019/02/13 Python
用django设置session过期时间的方法解析
2019/08/05 Python
Python tkinter常用操作代码实例
2020/01/03 Python
python3 中使用urllib问题以及urllib详解
2020/08/03 Python
用python实现一个简单计算器(完整DEMO)
2020/10/14 Python
开发中都用到了那些设计模式?用在什么场合?
2014/08/21 面试题
心理健康教育心得体会
2013/12/29 职场文书
就业协议书的作用
2014/04/11 职场文书
竞争上岗演讲稿范文
2014/05/12 职场文书
民警个人对照检查剖析材料
2014/09/17 职场文书
贪污受贿检讨书范文
2014/11/19 职场文书
2015年监理工作总结范文
2015/04/07 职场文书
5道关于python基础 while循环练习题
2021/11/27 Python