详解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 相关文章推荐
采用CSS和JS,刚好我最近有个站点要用到下拉菜单!
Jun 26 Javascript
把html页面的部分内容保存成新的html文件的jquery代码
Nov 12 Javascript
Extjs Ext.MessageBox.confirm 确认对话框详解
Apr 02 Javascript
基于jquery的无刷新分页技术
Jun 11 Javascript
jQuery javaScript捕获回车事件(示例代码)
Nov 07 Javascript
三种取消选中单选框radio的方法
Sep 09 Javascript
JavaScript实现点击按钮字体放大、缩小
Feb 29 Javascript
浅谈javascript中的constructor
Jun 08 Javascript
JS实现图片上传预览功能
Nov 21 Javascript
JavaScript通过改变文字透明度实现的文字闪烁效果实例
Apr 27 Javascript
vue2.x select2 指令封装详解
Oct 12 Javascript
写一个Vue Popup组件
Feb 25 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字符集转换
2017/01/23 PHP
PHP使用PDO、mysqli扩展实现与数据库交互操作详解
2019/07/20 PHP
JS异常处理的一个想法(sofish)
2013/03/14 Javascript
jquery数组之存放checkbox全选值示例代码
2013/12/20 Javascript
jquery数组过滤筛选方法grep()简介
2014/06/06 Javascript
Angularjs 基础入门
2014/12/26 Javascript
JS动态显示表格上下frame的方法
2015/03/31 Javascript
JS+CSS实现的竖向简洁折叠菜单效果代码
2015/10/22 Javascript
javascript与jquery动态创建html元素示例
2016/07/25 Javascript
深入学习nodejs中的async模块的使用方法
2017/07/12 NodeJs
Material(包括Material Icon)在Angular2中的使用详解
2018/02/11 Javascript
SVG实现时钟效果
2018/07/17 Javascript
Element中的Cascader(级联列表)动态加载省\市\区数据的方法
2019/03/27 Javascript
微信小程序的tab选项卡的实现效果
2019/05/15 Javascript
[01:02:38]DOTA2-DPC中国联赛定级赛 LBZS vs Phoenix BO3第二场 1月10日
2021/03/11 DOTA
[08:08]DOTA2-DPC中国联赛2月28日Recap集锦
2021/03/11 DOTA
15行Python代码实现网易云热门歌单实例教程
2019/03/10 Python
python pyinstaller 加载ui路径方法
2019/06/10 Python
解决pycharm remote deployment 配置的问题
2019/06/27 Python
python用quad、dblquad实现一维二维积分的实例详解
2019/11/20 Python
Python通过正则库爬取淘宝商品信息代码实例
2020/03/02 Python
深入CSS3 动画效果的总结详解
2013/05/09 HTML / CSS
法国家具及室内配件店:home24
2017/01/21 全球购物
应聘护士自荐信
2013/10/21 职场文书
领导的自我鉴定
2013/12/28 职场文书
葬礼司仪主持词
2014/03/31 职场文书
村级环境卫生整治方案
2014/05/04 职场文书
旅游饭店管理专业自荐书
2014/06/28 职场文书
数学教育专业求职信
2014/07/22 职场文书
孙振耀退休感言
2015/08/01 职场文书
小学生禁毒教育心得体会
2016/01/15 职场文书
redis通过6379端口无法连接服务器(redis-server.exe闪退)
2021/05/08 Redis
react使用antd的上传组件实现文件表单一起提交功能(完整代码)
2021/06/29 Javascript
微软Win11什么功能最惊艳? Windows11新功能特性汇总
2021/11/21 数码科技
CSS实现九宫格布局(自适应)的示例代码
2022/02/12 HTML / CSS
Win11 vmware不兼容怎么办?Win11与VMware虚拟机不兼容的解决方法
2023/01/09 数码科技