using RenderHeads.Media.AVProVideo; using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using ZXKFramework; namespace DongWuYiXue.DaoNiaoShu { public class VideoPanel : UIBase { public override string GroupName => "VideoPanel"; public override string Name => "VideoPanel"; MediaPlayer mediaPlayer; Action action; IUIManager uIManager; public override void Init(IUIManager uictrl) { base.Init(uictrl); mediaPlayer = GetComponent(); mediaPlayer.Events.AddListener(OnMediaPlayerEvent); uIManager = uictrl; } private void OnMediaPlayerEvent(MediaPlayer arg0, MediaPlayerEvent.EventType et, ErrorCode arg2) { switch (et) { case MediaPlayerEvent.EventType.Started: uiManager.CloseUI(); break; case MediaPlayerEvent.EventType.FinishedPlaying: action?.Invoke(); SetActive(false); break; } } public void ShowVideo(string path, Action aciton) { SetActive(true); this.action = aciton; uIManager.ShowUI(); mediaPlayer.OpenMedia(MediaPathType.RelativeToStreamingAssetsFolder, path, true); } public override void Hide() { base.Hide(); mediaPlayer.Stop(); } } }