AVProVideo是一个非常好用的视频播放器插件,支持windows、ios、android、webgl等等平台,支持4k视频播放,并且非常节省性能,当你的项目需要播放分辨率非常大的视频,但由于机器配置问题导致使用unity自带的播放组件播放非常卡的时候,这时候你就可以考虑考虑使用这个插件了。
下面我只是简单说明一下这个插件的简单使用,具体的使用你可以通过查看自带的demo场景以及说明文档pdf来学习掌握。第一步还是先导入插件,插件资源的链接我待会会放到文章最后,有需要的小伙伴可以去自行下载。插件导入后就是使用了,主要是两个组件播放控制组件MediaPlayer和渲染组件,由于我是用的UGUI播放,所以我是用的DisplayUGUI组件进行渲染。首先右键可以直接创建播放组件MediaPlayer,然后创建一个空物体挂上DisplayUGUI组件就好了,将MediaPlayer指定给DisplayUGUI,在MediaPlayer上选好要播放的视频就好了,直接运行看看效果吧。
然后就是代码控制了,首先需要引入命名空间using RenderHeads.Media.AVProVideo,然后获取组件MediaPlayer,private MediaPlayer mp
获取视频 mp.OpenVideoFromFile(MediaPlayer.FileLocation.RelativeToStreamingAssetsFolder, Control.Instance.GetSingleVideoPath("BackVideo")[0], false);
mp.Control.Play();//播放
mp.Control.Pause();//停止
mp.Control.Stop();//停止
mp.Info.GetDurationMs();//毫秒 获取视频总时间
mp.Control.Seek(7000);//毫秒 控制视频的播放时段
bool can= mp.VideoOpened;//获取视频是否加载打开,只有为true才能进行操作
事件添加 mp.Events.AddListener(Evts);
private void Evts(MediaPlayer mp,MediaPlayerEvent.EventType mediaPlayerEvent,ErrorCode errorCode)
{
switch (mediaPlayerEvent)
{
case MediaPlayerEvent.EventType.MetaDataReady:
break;
case MediaPlayerEvent.EventType.ReadyToPlay:
break;
case MediaPlayerEvent.EventType.Started:
break;
case MediaPlayerEvent.EventType.FirstFrameReady://只有播放器为非循环模式时这个条件才会调用
break;
case MediaPlayerEvent.EventType.FinishedPlaying:
Control.Instance.PlayBack();
break;
case MediaPlayerEvent.EventType.Closing:
break;
case MediaPlayerEvent.EventType.Error:
break;
case MediaPlayerEvent.EventType.SubtitleChange:
break;
case MediaPlayerEvent.EventType.Stalled:
break;
case MediaPlayerEvent.EventType.Unstalled:
break;
case MediaPlayerEvent.EventType.ResolutionChanged:
break;
case MediaPlayerEvent.EventType.StartedSeeking:
break;
case MediaPlayerEvent.EventType.FinishedSeeking:
break;
case MediaPlayerEvent.EventType.StartedBuffering:
break;
case MediaPlayerEvent.EventType.FinishedBuffering:
break;
case MediaPlayerEvent.EventType.PropertiesChanged:
break;
case MediaPlayerEvent.EventType.PlaylistItemChanged:
break;
case MediaPlayerEvent.EventType.PlaylistFinished:
break;
default:
break;
}
}
资源链接1.10版本
链接:https://pan.baidu.com/s/1JSkNBULgKKy1y-B_RTMz8g
提取码:s3fv