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();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|