using DG.Tweening;
using RenderHeads.Media.AVProVideo;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.UI;
using ZXK.BYSS;
using ZXK.Framework;
//交互物体类型
public enum BtnType { btn,dropDown,none,shouzhi}
//交互类型
public enum ClickType {
once,two}
///
/// 总控制器
///
public class AvproVideoController : MonoSingleton
{
//当前索引
public int CurrentIndex;
[Header("视频组件")]
public GameObject _MediaPlayerObj;
[Header("DisPlayUI")]
public DisplayUGUI displayUGUI;
public RawImage rawImage;
private MediaPlayer mediaPlayer;
[Header("结束按钮")]
public GameObject Btn;
public Text text;
[Header("步骤")]
public AvproVideoStep[] avproVideoSteps;
[Header("当前操作步骤")]
public AvproVideoStep currentAvproVideoSteps;
private void Start()
{
mediaPlayer = _MediaPlayerObj.GetComponent();
//初始化
//音频播放,
//视频播放
//并给索引按钮添加事件
//初始化调用rawImage
SetMedioPlayer();
}
string FloderPath;
///视频地址设置
public void SetMedioPlayer()
{
//超索引处理,默认完成了弹出结束按钮
if (CurrentIndex< avproVideoSteps.Length)
{
switch (AppManagement.Instance._CurType)
{
case ZXK.UTility.EnumCtrl.Type.XHBY:
FloderPath = "/AVProVideo/XHBYDebugVideo/";
break;
case ZXK.UTility.EnumCtrl.Type.QDCY:
FloderPath = "/AVProVideo/QDCYDebugVideo/";
break;
case ZXK.UTility.EnumCtrl.Type.CLFJ:
FloderPath = "/AVProVideo/CLFJDebugVideo/";
break;
case ZXK.UTility.EnumCtrl.Type.ZNYD:
FloderPath = "/AVProVideo/ZNYDDebugVideo/";
break;
case ZXK.UTility.EnumCtrl.Type.BYSS:
FloderPath = "/AVProVideo/BYSSDebugVideo/";
break;
}
//1.5设置文字
text.text = avproVideoSteps[CurrentIndex].TextStr;
//2.
//设置当前视频组
mediaPlayer.m_VideoPath = Application.streamingAssetsPath + FloderPath + avproVideoSteps[CurrentIndex].AvproVideoPath + ".mp4"; ;
//视频地址播放
mediaPlayer.OpenVideoFromFile(MediaPlayer.FileLocation.AbsolutePathOrURL, mediaPlayer.m_VideoPath, false);
//设置承载视频播放UI
//1.开始播放视频
displayUGUI.gameObject.SetActive(true);
displayUGUI.CurrentMediaPlayer.Play();
displayUGUI._mediaPlayer.Events.RemoveAllListeners();
//注册事件
displayUGUI._mediaPlayer.Events.AddListener(OnMediaPlayerEvent);
//2.先播放音频
if (avproVideoSteps[CurrentIndex].IsPlayAudio)
{
var v = UI_Manage.Instance.GetPanel("PracticeAndExamPanel")
.GetComponent()._CurTrainExamSceneCtrl;
v.speakManager.PlayFixedAudioCilp(avproVideoSteps[CurrentIndex].AudioClipIndex);
}
else
{
WDebug.Log("不播放音频");
}
}
else
{
Btn.gameObject.SetActive(true);
Btn.gameObject.GetComponent().alpha=1;
Btn.gameObject.GetComponent