详解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 相关文章推荐
ext for eclipse插件安装方法
Apr 27 Javascript
JavaScript 学习笔记 Black.Caffeine 09.11.28
Nov 30 Javascript
javascript实现2048游戏示例
May 04 Javascript
JavaScript DOM节点添加示例
Jul 16 Javascript
jQuery实现点击任意位置弹出层外关闭弹出层效果
Oct 19 Javascript
基于vue实现swipe轮播组件实例代码
May 24 Javascript
javascript 产生随机数的几种方法总结
Sep 26 Javascript
基于Vue的SPA动态修改页面title的方法(推荐)
Jan 02 Javascript
JavaScript判断浏览器运行环境的详细方法
Jun 30 Javascript
Vue防止白屏添加首屏动画的实例
Oct 31 Javascript
vue+vant-UI框架实现购物车的复选框全选和反选功能
Nov 05 Javascript
微信小程序scroll-view锚点链接滚动跳转功能
Dec 12 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 编程安全性小结
2010/01/08 PHP
PHP输出XML到页面的3种方法详解
2013/06/06 PHP
学习php中的正则表达式
2014/08/17 PHP
PHP下载远程文件到本地存储的方法
2015/03/24 PHP
最新最全PHP生成制作验证码代码详解(推荐)
2016/06/12 PHP
IE中直接运行显示当前网页中的图片 推荐
2006/08/31 Javascript
jquery HotKeys轻松搞定键盘事件代码
2008/08/30 Javascript
超酷的网页音乐播放器DewPlayer使用方法
2010/12/18 Javascript
Extjs中ComboBox加载并赋初值的实现方法
2012/03/22 Javascript
微信小程序(应用号)开发新闻客户端实例
2016/10/24 Javascript
AngularJS递归指令实现Tree View效果示例
2016/11/07 Javascript
基于touch.js手势库+zepto.js插件开发图片查看器(滑动、缩放、双击缩放)
2016/11/17 Javascript
AngularJS表单基本操作
2017/01/09 Javascript
canvas绘制多边形
2017/02/24 Javascript
基于Bootstrap模态对话框只加载一次 remote 数据的解决方法
2017/07/09 Javascript
基于Vue实例生命周期(全面解析)
2017/08/16 Javascript
javaScript之split与join的区别(详解)
2017/11/08 Javascript
vuejs选中当前样式active的实例
2018/08/22 Javascript
在node中使用jwt签发与验证token的方法
2019/04/03 Javascript
JavaScript中工厂函数与构造函数示例详解
2019/05/06 Javascript
Python实现excel转sqlite的方法
2017/07/17 Python
Django跨域请求CSRF的方法示例
2018/11/11 Python
python使用Pandas库提升项目的运行速度过程详解
2019/07/12 Python
python获取引用对象的个数方式
2019/12/20 Python
使用Python实现Wake On Lan远程开机功能
2020/01/22 Python
Python ADF 单位根检验 如何查看结果的实现
2020/06/03 Python
python3.7添加dlib模块的方法
2020/07/01 Python
深入研究HTML5实现图片压缩上传功能
2016/03/25 HTML / CSS
25道Java面试题集合
2013/05/21 面试题
本科毕业生自我鉴定
2013/11/02 职场文书
第二批党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
2014年施工员工作总结
2014/11/18 职场文书
研究生论文答辩开场白
2015/05/27 职场文书
2016年度继续教育学习心得体会
2016/01/19 职场文书
Python 中的 copy()和deepcopy()
2021/11/07 Python
win10双系统怎么删除一个系统?win10电脑有两个系统删除一个的操作方法
2022/07/15 数码科技