多媒体制作中Unity中使用AVProVideo播放视屏

之前使用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;
        }
    }  

猜你喜欢

转载自blog.csdn.net/qq_38834505/article/details/83410012