详解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 获取时间间隔实现代码
May 12 Javascript
深入理解javascript中的立即执行函数(function(){…})()
Jun 12 Javascript
jquery实现的简单二级菜单效果代码
Sep 22 Javascript
JavaScript算法系列之快速排序(Quicksort)算法实例详解
Sep 04 Javascript
慕课网题目之js实现抽奖系统功能
Sep 19 Javascript
javascript代码优化的8点总结
Jan 29 Javascript
快速解决处理后台返回json数据格式的问题
Aug 07 Javascript
微信小程序实现左滑修改、删除功能
Oct 19 Javascript
实现高性能javascript的注意事项
May 27 Javascript
微信小程序手动添加收货地址省市区联动
May 18 Javascript
vue 导航锚点_点击平滑滚动,导航栏对应变化详解
Aug 10 Javascript
JS实现手风琴特效
Nov 08 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+mysql留言本源码
2009/11/11 PHP
PHP json_encode中文乱码问题的解决办法
2013/09/09 PHP
ThinkPHP3.1新特性之命名范围的使用
2014/06/19 PHP
PHP使用递归生成文章树
2015/04/21 PHP
php中smarty变量修饰用法实例分析
2015/06/11 PHP
阿里云Win2016安装Apache和PHP环境图文教程
2018/03/11 PHP
JavaScript 监听textarea中按键事件
2009/10/08 Javascript
JavaScript 三种不同位置代码的写法
2009/10/25 Javascript
js如何实现设计模式中的模板方法
2013/07/23 Javascript
JS中的this变量的使用介绍
2013/10/21 Javascript
Javascript中克隆一个数组的实现代码
2013/12/06 Javascript
JavaScript学习笔记之数组随机排序
2016/03/23 Javascript
jQuery轻松实现表格的隔行变色和点击行变色的实例代码
2016/05/09 Javascript
设计模式中的facade外观模式在JavaScript开发中的运用
2016/05/18 Javascript
js窗口震动小程序分享
2016/11/28 Javascript
BootStrap Table 设置height表头与内容无法对齐的问题
2016/12/28 Javascript
BootStrap select2 动态改变值的方法
2017/02/10 Javascript
微信小程序自定义toast实现方法详解【附demo源码下载】
2017/11/28 Javascript
实时监控input框,实现输入框与下拉框联动的实例
2018/01/23 Javascript
利用Decorator如何控制Koa路由详解
2018/06/26 Javascript
利用Dectorator分模块存储Vuex状态的实现
2019/02/05 Javascript
vue列表单项展开收缩功能之this.$refs的详解
2019/05/05 Javascript
Vue使用NProgress进度条的方法
2019/09/21 Javascript
vue中的mescroll搜索运用及各种填坑处理
2019/10/30 Javascript
js 闭包深入理解与实例分析
2020/03/19 Javascript
VUE子组件向父组件传值详解(含传多值及添加额外参数场景)
2020/09/01 Javascript
vue实现前端列表多条件筛选
2020/10/26 Javascript
python去除字符串中的换行符
2017/10/11 Python
bluepy 一款python封装的BLE利器简单介绍
2019/06/25 Python
详解Django 时间与时区设置问题
2019/07/23 Python
家乐福台湾线上购物网:Carrefour台湾
2020/09/15 全球购物
2014厂务公开实施方案
2014/02/17 职场文书
合伙经营协议书范本(通用版)
2014/12/03 职场文书
小学英语复习计划
2015/01/19 职场文书
《工作是最好的修行》读后感3篇
2019/12/13 职场文书
go语言使用Casbin实现角色的权限控制
2021/06/26 Golang