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
