vue-video-player 小白笔记

本文记录了使用vue-video-player组件在Vue.js项目中实现视频播放的实践过程,包括安装、配置、基本用法以及可能遇到的问题和解决策略,适合Vue初学者参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<template>
	<video-player class="video-player-box"
	 ref="videoPlayer"
	 :options="playerOptions"
	 :playsinline="false"
	 customEventName="customstatechangedeventname"
	 @play="onPlayerPlay($event)"
	 @pause="onPlayerPause($event)"
	 @ended="onPlayerEnded($event)"
	 @loadeddata="onPlayerLoadeddata($event)"
	 @timeupdate="onPlayerTimeupdate($event)"
	 @ready="playerReadied($event)">
	</video-player>
</template>

<script>
	export default {
		data() {
			return {
				playerOptions: {
					// videojs options
					muted: true,//默认静音
					language: 'en',
					playbackRates: [0.7, 1.0, 1.5, 2.0],//播放倍速
					sources: [{
						type: "video/mp4",//资源类型
						src: "https://cdn.theguardian.tv/webM/2015/07/20/150716YesMen_synd_768k_vp8.webm"//资源路径
					}],
					poster: "/static/images/author.jpg",//封面图
				},
				canplay:false,//资源是否可播放
			}
		},
		mounted() {
			console.log('this is current player instance object', this.player)
		},
		computed: {
			// 视频对象
			player() {
				return this.$refs.videoPlayer.player
			}
		},
		methods: {
			// 播放器初始化完成
			playerReadied(player) {
				console.log('the player is readied', player)
				// you can use it to do something...
				// player.[methods]
			},
			// 音视频资源加载完毕 如果不可在线播放 可通过此方法判断是否可以开始播放给用户提示
			onPlayerLoadeddata(player) {
				// 方法调用即资源加载完毕可进行播放
				this.canplay = true;
				// 获取资源总时长
				let duration = player.cache_.duration;
			},
			// 音视频资源开始播放触发
			onPlayerPlay(player) {
				console.log('player play!', player)
			},
			// 音视频资源暂停播放触发
			onPlayerPause(player) {
				console.log('player /pause!', player)
			},
			// 视频播放进度变化
			onPlayerTimeupdate(player) {
			//获取当前播放进度
				let currentTime = player.cache_.duration;
				console.log(currentTime)
			},
			// 视频时间转换成时分秒格式
			getTime(seconds) {
				if(!seconds || seconds<=0) return "00:00:00";
				if(seconds<=60){//小于1分钟
					let t = parseInt(seconds),
						s = t<10? '0' + t : t;
					return `00:00:${s}`;
				}else if(seconds < 60*60){//小于一小时
					let t = parseInt(seconds/60),
						s = t<10? '0' + t : t;
					return `00:${s}:${seconds%60}`
				}
			},
			// 常用属性
			// 改变播放速度  例:2倍速 this.player.playbackRate(2)
			// 改变播放进度 例:播放5秒 this.player.currentTime(5)
			// 暂停视频 this.player.pause()
			// 播放视频 this.player.play()
			// 切换音视频资源路径 this.playerOptions['sources'][0]['src'] = "http:url...."
		},
	}
</script>

<style>
</style>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值