51 lines
1.5 KiB
C#
Raw Normal View History

2025-09-08 14:51:28 +08:00
using RenderHeads.Media.AVProVideo;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using ZXKFramework;
2025-09-08 17:37:12 +08:00
namespace DongWuYiXue.DaoNiaoShu
2025-09-08 14:51:28 +08:00
{
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>();
mediaPlayer.Events.AddListener(OnMediaPlayerEvent);
uIManager = uictrl;
}
private void OnMediaPlayerEvent(MediaPlayer arg0, MediaPlayerEvent.EventType et, ErrorCode arg2)
{
switch (et)
{
case MediaPlayerEvent.EventType.Started:
uiManager.CloseUI<LoadingPanel>();
break;
case MediaPlayerEvent.EventType.FinishedPlaying:
action?.Invoke();
SetActive(false);
break;
}
}
public void ShowVideo(string path, Action aciton)
{
SetActive(true);
this.action = aciton;
uIManager.ShowUI<LoadingPanel>();
mediaPlayer.OpenMedia(MediaPathType.RelativeToStreamingAssetsFolder, path, true);
}
public override void Hide()
{
base.Hide();
mediaPlayer.Stop();
}
}
}