赞
踩
Unity5.6之前在移动端播放视频都用插件avpro,easy movie等等,在5.6,官方出了一个Videoplayer,可在pc、移动端播放视频,下面我们介绍一下具体的使用方法:
videoPlayer分为两种播放模型,一种是本地播放(video clip),一种是网络端播放(url),
下面是一些比较大众化的设置:
Camera Far
Plane:基于摄像机的渲染,渲染在摄像机的远平面上,需要设置用于渲染的摄像机,同时可以修改alpha通道的值做透明效果,可用于背景播放器。
Camera Near
Plane:基于摄像机的渲染,渲染在摄像机的近平面上,需要设置用于渲染的摄像机,同时可以修改alpha通道的值做透明效果,可用作前景播放器。
Render Texture:将视频画面保存在Render Texture上,以供物体或者RawImage使用,可以用来做基于UGUI的播放器。
Material Override:将视频画面复制给所选Render的Material。需要选择具有Render组件的物体,可以选择赋值的材质属性。可制作360全景视频和VR视频。
Api Only: 待研究。
脚本控制(需引用UnityEngine.Video):
VideoPlayer的脚本控制与AudioSource相似,有常规的Play,Pause,Stop方法,也有用于进度控制的time,isPlaying,isLooping,frame,frameCount等属性。
VideoPlayer可以使用一系列事件来监听播放的各个动作:
errorReceived: 错误监听到时被执行。
frameDropped :有丢帧发生时被执行。
frameReady :新的一帧准备好时被执行。
loopPointReached :播放结束或播放到循环的点时被执行。
prepareCompleted :视频准备完成时被执行。
seekCompleted :查询帧操作完成时被执行。
started:在Play方法调用之后立刻调用。
如果我们现在想知道视频的长度:本地端可以直接点出来videoplayer.clip.length,并且可以得到当前播放的长度:videoplayer.time;
如果我们播放的是网络端的视频,是没有办法直接获取视频总长度的,不过我们可以自己计算,视频总长度=videoplayer.frameCount / source.frameRate;即总长度的帧除以速率则可以得到总时间
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。