vue视频播放插件vue-video-player

1. 安装

# 安装命令
npm install vue-video-player --save

2. 引入

可以全局引入插件,也可以在需要用到该插件的组件内单独引入(二选一)

1. 全局引用 在main.js里面导入并引用

import VideoPlayer from 'vue-video-player'// 引入方式一
import 'vue-video-player/src/custom-theme.css'
import 'video.js/dist/video-js.css'// 引入方式二
require('video.js/dist/video-js.css')
require('vue-video-player/src/custom-theme.css')Vue.use(VideoPlayer)

2. 组件内引用

import { videoPlayer } from 'vue-video-player'
import 'video.js/dist/video-js.css'export default {components: {videoPlayer}
}

3. 使用

1. html部分 (在页面中引用)

<template><div class='demo'><video-player class="video-player vjs-custom-skin" ref="videoPlayer" :playsinline="true" :options="playerOptions"></video-player></div>
</template>

2. js部分 (配置数据)

export default {data() {return {playerOptions: {playbackRates: [0.5, 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",  // 类型src: ''             // url地址}],poster: '',  // 封面地址notSupportedMessage: '此视频暂无法播放,请稍后再试',  // 允许覆盖Video.js无法播放媒体源时显示的默认信息。controlBar: {timeDivider: true,           // 当前时间和持续时间的分隔符durationDisplay: true,       // 显示持续时间remainingTimeDisplay: false, // 是否显示剩余时间功能fullscreenToggle: true       // 是否显示全屏按钮}}}}
}

3. 效果图

示例一

示例二

4. 按钮样式调整可在外部css中设置

# 示例
// 调整播放器样式
.video-js .vjs-icon-placeholder {width: 100%;height: 100%;display: block;
}

4. 视频格式

type: "video/webm"   // 可以播放 用ogg也可打开
type: "video/ogg"    // 可以播放 用webm也可打开
type: "video/3gp"    // 可以播放
type: "video/mp4"    // 可以播放
type: "video/avi"    // 打不开
type: "video/flv"    // 打不开
type: "video/mkv"    // 打不开
type: "video/mov"    // 打不开
type: "video/mpg"    // 打不开
type: "video/swf"    // 打不开
type: "video/ts"     // 打不开
type: "video/wmv"    // 打不开
type: "video/vob"    // 没转化
type: "video/mxf"    // 转化出错
type: "video/rm"     // 转化出错

5. 控制播放和暂停

this.$refs.videoPlayer.player.play()   // 播放
this.$refs.videoPlayer.player.pause()  // 暂停
this.$refs.videoPlayer.player.src(src) // 重置进度条

6. 回调函数

<template><div class='demo'><video-player class="video-player vjs-custom-skin" ref="videoPlayer" :playsinline="true" :options="playerOptions"@play="onPlayerPlay($event)" @pause="onPlayerPause($event)"@ended="onPlayerEnded($event)"@waiting="onPlayerWaiting($event)"@playing="onPlayerPlaying($event)"@loadeddata="onPlayerLoadeddata($event)"@timeupdate="onPlayerTimeupdate($event)"@canplay="onPlayerCanplay($event)"@canplaythrough="onPlayerCanplaythrough($event)"@statechanged="playerStateChanged($event)"@ready="playerReadied"></video-player></div>
</template><script>
export default {methods: {// 播放回调onPlayerPlay(player) {console.log('player play!', player)},// 暂停回调onPlayerPause(player) {console.log('player pause!', player)},// 视频播完回调onPlayerEnded($event) {console.log(player)},// DOM元素上的readyState更改导致播放停止onPlayerWaiting($event) {console.log(player)},// 已开始播放回调onPlayerPlaying($event) {console.log(player)},// 当播放器在当前播放位置下载数据时触发onPlayerLoadeddata($event) {console.log(player)},// 当前播放位置发生变化时触发onPlayerTimeupdate($event) {console.log(player)},// 媒体的readyState为HAVE_FUTURE_DATA或更高onPlayerCanplay(player) {// console.log('player Canplay!', player)},// 媒体的readyState为HAVE_ENOUGH_DATA或更高。这意味着可以在不缓冲的情况下播放整个媒体文件onPlayerCanplaythrough(player) {// console.log('player Canplaythrough!', player)},// 播放状态改变回调playerStateChanged(playerCurrentState) {console.log('player current update state', playerCurrentState)},// 将侦听器绑定到组件的就绪状态。与事件监听器的不同之处在于,如果ready事件已经发生,它将立即触发该函数playerReadied(player) {console.log('example player 1 readied', player);}},
}
</script>

参考链接:

https://www.jianshu.com/p/2540bdf9092c

https://www.jianshu.com/p/532fc1d8c90c

Vue-视频播放插件vue-video-player的配置及简单使用相关推荐

  1. vue 视频播放插件VideoPlayer

    vue 视频播放插件VideoPlayer 1.npm install vue-video-player --save 2.main.js引入 import VideoPlayer from 'vue ...

  2. html5播放器 迅雷,搜狗浏览器HTML5视频播放器插件(HTML5.Video.Player)

    一款搜狗浏览器的HTML5视频播放器插件,安装后可以使用HTML5方式播放优酷.土豆.爱奇艺.搜狐视频.迅雷离线.腾讯视频.56视频等网站的视频,避免使用adobe flash player插件,降低 ...

  3. Mac视频播放器Elmedia Video Player Pro for Mac

    Elmedia Video Player for Mac是Mac平台上一款能够为您播放各种文件类型的万能视频播放器,您可以用Elmedia Video Player Mac版进行flash.silve ...

  4. WordPress插件 Fox Video Player 独家HTML5广告视频播放器插件[更新至v3.0.1]

    Fox Video Player 是一款独家HTML5广告视频播放器WordPress插件,方便把你的网站转换成一个多媒体站点,尤其独特的视频插入广告像优酷这样的在视频播放前播放广告,当然你也可以设置 ...

  5. vue 视频播放插件vue-video-player自定义样式、自动播放设置、设置一开始全屏播放视频

    1.背景 项目中有涉及视频播放的需求,并且UI设计了样式,与原生的视频video组件有差异,所以使用了vue-video-player插件,并对vue-video-player进行样式改造,自定义播放 ...

  6. Vue 视频播放插件vue-video-player

    安装 npm install vue-video-player --save 引入 可以全局引入插件,也可以在需要用到该插件的组件内单独引入(二选一) [1]全局引用, 在main.js里面导入并引用 ...

  7. vue视频播放插件vue-video-player

    安装 npm install vue-video-player --save复制代码 引入 可以全局引入插件,也可以在需要用到该插件的组件内单独引入(二选一) [1]全局引用, 在main.js里面导 ...

  8. vue 视频播放插件vue-video-player的使用

    文章目录 视频播放部分 实时弹幕部分 视频播放部分 安装依赖 yarn add vue-video-player main.js引入 import VideoPlayer from 'vue-vide ...

  9. Vue视频播放组件(Video)

    可自定义设置以下属性: 视频文件url(videoUrl),必传 视频封面url(videoCover),默认为null 视频播放器宽度(width),默认为800px 视频播放器高度(height) ...

  10. vue视频播放插件vue-video-player的具体使用方法

    vue-video-player官网:https://www.npmjs.com/package/vue-video-player 全局引入方式: html <div><video- ...

最新文章

  1. 聊天宝彻底凉了,遭罗永浩抛弃,团队就地解散
  2. 这款NLP神器火了!关键词一键提取、结果高度可视化,堪称「小白进阶大神」的实用工具包 | 开源...
  3. linux下编译软件通用方法(memcached为例)
  4. git生成秘钥配置SSH公钥的简单方法
  5. The Two Routes CodeForces - 601A(水最短路)
  6. js正则表达式详细教程
  7. 如何避免JDBC内存溢出问题
  8. Spring-MVC的配置文件及路径问题
  9. 第一百九十八节,jQuery EasyUI,ProgressBar(进度条)组件
  10. Java 数组与容器之间的转化 实现数组动态赋值
  11. 护卫神 mysql 升级_护卫神php套件 php版本升级方法
  12. 【优化算法】群居蜘蛛优化算法(SSO)【含Matlab源码 1452期】
  13. 一种解决常见的80/443端口被占用导致steamcommunity 302服务无法启动的方法
  14. 工作效率的提升——如何高效沟通,有效降低沟通成本
  15. 手把手教你封装属于自己的Windows7安装镜像
  16. 数据分析 - pandas(7)
  17. 金额数字转换成大写,英文。111,壹佰壹拾壹元整,one hundred and eleven yuan
  18. 手机扫描答题卡阅卷的小程序
  19. 将距离度量学习应用于购物问题
  20. android 平板的 dpi,Android平板上开发应用的一点心得——精确适配不同的dpi和屏幕尺寸...

热门文章

  1. Django做一个简单的博客系统(13)----增加文章栏目
  2. 难以解释的数据异常-回归均值效应
  3. 人工智能到底是什么——理性和感性如何解决
  4. jdk9,10,11,12没有jre安装方法
  5. go爬虫框架-colly实战(三)--全景卡通图片抓取下载
  6. html a标签无效,Html a标签 download属性失效原因
  7. Arduino以太网插板教程
  8. 贺新春丨大年初五 喜迎财神
  9. sublime中emmet插件使用
  10. 【集合论】等价类 ( 等价类概念 | 等价类示例 | 等价类性质 | 商集 | 商集示例 )★