赞
踩
npm install vue-video-player --save
- import VideoPlayer from 'vue-video-player'
- require('video.js/dist/video-js.css')
- require('vue-video-player/src/custom-theme.css')
- Vue.use(VideoPlayer)
- <template>
- ...
- <!-- 视频 1 -->
- <video-player class="video-player vjs-custom-skin" ref="videoPlayer1" :options="playerOption" :playsinline="true" @play="onPlayerPlay()" @pause="onPlayerPause()" @timeupdate="onPlayerChange($event)"></video-player>
- <!-- 视频 2 -->
- <video-player class="video-player vjs-custom-skin" ref="videoPlayer2" :options="playerOption2" :playsinline="true" @play="onPlayerPlay()" @pause="onPlayerPause()" @timeupdate="onPlayerChange($event)"></video-player>
- ...
- </template>
-
- <script>
- import { videoPlayer } from "vue-video-player";
- import "videojs-flash";
-
- export default {
- data() {
- currentTime: 0,
- lastPlaybackRate: "",
- videoUrl: "",
- playerOption: {
- sources: [
- {
- type: "video/mp4",
- src: "",
- },
- ],
- autoplay: true, // 如果true,浏览器准备好时开始回放
- muted: true, // 默认情况下将会消除任何音频
- loop: true, // 是否一结束就重新开始播放
- language: "zh-CN",
- playbackRates: [0.7, 1.0, 1.5, 2.0], // 播放速度
- controls: true,
- notSupportedMessage: "此视频暂无法播放,请稍后再试", // 允许覆盖Video.js无法播放媒体源时显示的默认信息
- controlBar: {
- timeDivider: true,
- durationDisplay: true,
- remainingTimeDisplay: false,
- fullscreenToggle: true, // 全屏按钮
- },
- },
- playerOption2: {
- sources: [
- {
- type: "video/mp4",
- src: "",
- },
- ],
- autoplay: true, // 如果true,浏览器准备好时开始回放
- muted: true, // 默认情况下将会消除任何音频
- loop: true, // 是否一结束就重新开始播放
- language: "zh-CN",
- playbackRates: [0.7, 1.0, 1.5, 2.0], // 播放速度
- controls: true,
- notSupportedMessage: "此视频暂无法播放,请稍后再试", // 允许覆盖Video.js无法播放媒体源时显示的默认信息
- controlBar: {
- timeDivider: true,
- durationDisplay: true,
- remainingTimeDisplay: false,
- fullscreenToggle: true, // 全屏按钮
- },
- }
- },
- components: {
- videoPlayer
- },
- methods: {
- // 点击播放
- onPlayerPlay() {
- var that1 = this.$refs.videoPlayer1;
- var that2 = this.$refs.videoPlayer2;
- that1.player.play();
- that2.player.play();
- // 调整进度条
- that1.player.currentTime(this.currentTime);
- that2.player.currentTime(this.currentTime);
- },
- // 点击暂停
- onPlayerPause() {
- var that1 = this.$refs.videoPlayer1;
- var that2 = this.$refs.videoPlayer2;
- that1.player.pause();
- that2.player.pause();
- },
- // 当前播放位置发生变化时触发
- onPlayerChange(player) {
- if (this.videoUrl != this.playerOption.sources[0].src) {
- let that1 = this.$refs.videoPlayer1;
- let that2 = this.$refs.videoPlayer2;
- that1.player.currentTime(0);
- that2.player.currentTime(0);
- that1.player.playbackRate(1.0);
- that2.player.playbackRate(1.0);
- this.videoUrl = this.playerOption.sources[0].src;
- } else {
- this.currentTime = player.cache_.currentTime;
- // 调整播放速率
- if (this.lastPlaybackRate != player.cache_.lastPlaybackRate) {
- let that1 = this.$refs.videoPlayer1;
- let that2 = this.$refs.videoPlayer2;
- that1.player.playbackRate(player.cache_.lastPlaybackRate);
- that2.player.playbackRate(player.cache_.lastPlaybackRate);
- this.lastPlaybackRate = player.cache_.lastPlaybackRate;
- }
- }
- }
- }
- }
- </script>

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。