之前使用Unity自带的VideoPlayer组件,发现win10支持很好,win7播放不流畅,现在使用AVProVideo插件。
1.在UI上播放,首先在Canvas里面Creat一个AVPro Video Ugui,作为播放载体,创建 MediaPlayer作为视频播放。
2.关于多视频的切换,以及播放完自动收回播放页面代码
using RenDerHeads.Media,AVProVideo;//using引用
using DG.Tweening;
public DisplayUGUI m_displayUGUI;//申明变量
public MediaPlayer m_mediaPlayerA;
public MediaPlayer m_mediaPlayerB;
public MediaPlayer m_mediaPlayerC;
public GameObject m_gameObject;//播放视频页面
public AudioSource BGAudio;//场景本身的背景音乐
public void Playvideo(int i )//播放视频
{
if (i == 0)
{
m_displayUGUI.CurrentMediaPlayer = m_mediaplayerA;
m_mediaplayerA.Control.Rewind();
m_mediaplayerA.Control.Play();
}
if (i == 1)
{
m_displayUGUI.CurrentMediaPlayer = m_mediaplayerB;
m_mediaplayerB.Control.Rewind();
m_mediaplayerB.Control.Play();
}
if (i == 2)
{
m_displayUGUI.CurrentMediaPlayer = m_mediaplayerC;
m_mediaplayerC.Control.Rewind();
m_mediaplayerC.Play();
}
BGMaudio.Pause();// 播放视频的时候背景音乐暂停
m_gameObject.transform.DOLocalMoveY(0, 1.5f);//播放界面降落下来
}
public void GuanbiVideo()//关闭视频
{
BGMaudio.Play();//背景音乐关闭
m_mediaplayerA.Stop();
m_mediaplayerB.Stop();
m_mediaplayerC.Stop();
Tweener tween = m_gameObject.transform.DOLocalMoveY(1150, 1.5f);
}
public void OnMediaPlayerEvent(MediaPlayer mp, MediaPlayerEvent.EventType et, ErrorCode errorCode)//视频播放完成后收起播放页面
{
switch (et)
{
case MediaPlayerEvent.EventType.FinishedPlaying:
GuanbiVideo();
break;
}
}