vue 视频播放器 vue-video-player

1. 安装依赖

npm install vue-video-player --save
//或

yarn add vue-video-player

2. 导入注册

// 全局注册 在main.js入口文件中引入
import { videoPlayer } from 'vue-video-player';
import 'video.js/dist/video-js.css';
Vue.use(VideoPlayer)

//按需引入

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

3. 页面

<video-player
    v-if="playerOptions.sources[0].src"
    class="video-player-box"
    ref="videoPlayer"
    :options="playerOptions"
    :playsinline="true"
    customEventName="customstatechangedeventname"
    @play="onPlayerPlay($event)"
    @pause="onPlayerPause($event)"
    @ready="playerReadied"
    @ended="onPlayerEnded($event)"
    @timeupdate="onPlayerTimeupdate($event)"
  >
  </video-player>

4. 配置

data () {
    return {
      playerOptions: {
          width: '980',
          muted: false,
          preload: 'auto',
          aspectRatio: '16:9',
          language: 'zh-CN',
          playbackRates: [0.7, 1.0, 1.5, 2.0],
          notSupportedMessage: '此视频暂无法播放,请稍后再试',
          controlBar: {
            timeDivider: true,
            durationDisplay: true,
            remainingTimeDisplay: true,
          },
          sources: [
            {
              type: 'video/mp4',
              src: "https://soft.onlinedo.cn/static/template/28/images/gif_m.mp4",
            },
          ],
          poster: '',
        },
        isPlaying: false,
        hidePause: false,
        loading: true,
        durations: 0,
        videoSumTime: 0,
    }
  },

5. 方法

onPlayerPlay() {
        // console.log('player play!', player);
        // if (this.count < 1) this.player.volume(0.5);
        this.isPlaying = true;
        this.count++;
      },
      onPlayerPause() {
        // console.log('player pause!', player);
        this.isPlaying = false;
      },
      // or listen state event
      playerStateChanged() {
        // console.log('player current update state', playerCurrentState);
      },
      // player is ready
      playerReadied() {
        // console.log('the player is readied', player);
        // you can use it to do something...
        // player.currentTime(10);
      },
      onPlayerEnded() {
        // console.log('the player is ended');
      },
      // 当前播放进度
      onPlayerTimeupdate (player) {
            this.durations = player.cache_.currentTime //当前播放时长
            this.videoSumTime = parseInt(player.cache_.duration); //视频总时长
            console.log(this.durations);
            // console.log(' onPlayerTimeupdate!', player)
      },
      // 控制暂停播放
      handlePause() {
        this.player.pause();
      },

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值