0.1.0 • Published 3 years ago

resynz-super-tcplayer v0.1.0

Weekly downloads
-
License
ISC
Repository
-
Last release
3 years ago

super-tcplayer

基于腾讯web超级播放器封装的vue播放器组件

Build Setup

##组件下载及安装 npm install super-tcplayer -S

##组件属性

属性名类型是否必须默认值说明
widthString视频分辨率宽播放器父容易宽度
heightString视频分辨率高播放器父容易宽度
autoplayBooleantrue是否自动播放
progressMarkerBooleanfalse进度条是否打点
continuePlayBooleanfalse是否连续播放
optionsObject视频id,appId只支持视频id(腾讯云){fileID:"sdasads2e21",appID:"asdasda,us:'',t:'',sign:'',exper:''}
mutedBooleantrue是否静音播放
playbackRatesArray0.5,1,1.5,1.8播放器速率

组件实例方法

方法名参数返回值说明
play播放视频
pause暂停播放
getDuration视频时长(分钟)返回视频总时长
getCurrentTime视频播放时长(分钟)返回视频已经播放的时长
setCurrentTime视频秒数设置视频指定进度播放
getPosterImg封面图地址获取视频封面图地址
setPosterImg图片地址(String)设置封面图
openFullScreen打开全屏
exitFullScreen退出全屏
isFullScreen返回是否全屏 (Boolean)
getResolutionSize获取视频分辨率尺寸,返回值Object
destroy销毁播放器实例

##播放器实例

playerTarget   回调参数为播放器实例

##播放器实例回调方法

事件类型说明
play已经开始播放,调用 play() 方法或者设置了 autuplay 为 true 且生效时触发,这时 paused 属性为 false
playing因缓冲而暂停或停止后恢复播放时触发,paused 属性为 false 。通常用这个事件来标记视频真正播放,play 事件只是开始播放,画面并没有开始渲染
loadstart开始加载数据时触发
durationchange视频的时长数据发生变化时触发
loadedmetadata已加载视频的 metadata
loadeddata当前帧的数据已加载,但没有足够的数据来播放视频的下一帧时,触发该事件
progress在获取到媒体数据时触发
canplay当播放器能够开始播放视频时触发
canplaythrough当播放器预计能够在不停下来进行缓冲的情况下持续播放指定的视频时触发
error视频播放出现错误时触发
pause暂停时触发
ratechange播放速率变更时触发
seeked搜寻指定播放位置结束时触发
seeking搜寻指定播放位置开始时触发
timeupdate当前播放位置有变更,可以理解为 currentTime 有变更
volumechange设置音量或者 muted 属性值变更时触发
waiting播放停止,下一帧内容不可用时触发
ended视频播放已结束时触发。此时 currentTime 值等于媒体资源最大值
resolutionswitching清晰度切换进行中
resolutionswitched清晰度切换完毕
fullscreenchange全屏状态切换时触发

##原始文档 超级播放器文档

##播放器使用示例代码

<tc-player :width="width" 
          :height="height" 
          :options="options" 
          :autoplay="autoplay" 
          :volume="volume"
          @playerTarget="watchPlayer" 
          ref="player">
    </tc-player>
	//部分代码示例
	export default{
		methods:{
			play(){
			  this.$refs.player.play()
			},
			setCurrentTime(){
			   this.$refs.player.setCurrentTime(60*12)
			 },
			 isFullScreen(){
			   console.log(this.$refs.player.isFullScreen());
			 },
			 watchPlayer(player){
				player.on("loadstart",(msg)=>{
					  console.log("开始加载视频了");
				}) 
				player.on("resolutionswitched",(msg)=>{
					console.log("清晰度切换了");
				})
				player.on("pause",(msg)=>{
				  console.log("视频已暂停");
				})
				player.on("error",(msg)=>{
				  console.log(msg);
				})
				player.on("timeupdate",(msg)=>{
				  console.log(msg);
				})
				player.on("ended",(msg)=>{
				  console.log("视频结束了");
				})
			 }
		}
	}