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(); //设置配音 PracticeAndExamInSceneCtrl Cur_practiceAndExamInSceneCtrl = UI_Manage.Instance.GetPanel("PracticeAndExamPanel") .GetComponent()._CurTrainExamSceneCtrl; if (Cur_practiceAndExamInSceneCtrl.speakManager != null) { Cur_practiceAndExamInSceneCtrl.speakManager.ReSetAudioCilp(); Cur_practiceAndExamInSceneCtrl.speakManager.ChangeModelAudio("程序调试"); } //初始化 //音频播放, //视频播放 //并给索引按钮添加事件 //初始化调用rawImage SetMedioPlayer(); } string FloderPath; ///视频地址设置 public void SetMedioPlayer() { //超索引处理,默认完成了弹出结束按钮 if (CurrentIndex< avproVideoSteps.Length) { //分离版本地址设定用这个 switch (AppManagement.XhbyType) { case XHBY_Type.PLC_KZQG: FloderPath = "/AVProVideo/KZQGDebugVideo/"; break; case XHBY_Type.PLC_KZZLD: FloderPath = "/AVProVideo/KZZLDDebugVideo/"; break; case XHBY_Type.GDCGQ: FloderPath = "/AVProVideo/ZDSJSLDebugVideo/"; break; case XHBY_Type.JXSWF: FloderPath = "/AVProVideo/ZDSJSLDebugVideo/"; break; case XHBY_Type.BYXQ: FloderPath = "/AVProVideo/BYXQDebugVideo/"; break; case XHBY_Type.ZDSJS: FloderPath = "/AVProVideo/BYXQDebugVideo/"; break; } //switch (AppManagement.Instance._CurType) //{ // case ZXK.UTility.EnumCtrl.Type.XHBY: // FloderPath = "/AVProVideo/循环搬运完整版程序下载/"; // break; // case ZXK.UTility.EnumCtrl.Type.QDCY: // FloderPath = "/AVProVideo/气动冲压程序下载视频/"; // break; // case ZXK.UTility.EnumCtrl.Type.CLFJ: // FloderPath = "/AVProVideo/材料分拣程序下载视频/"; // break; // case ZXK.UTility.EnumCtrl.Type.ZNYD: // FloderPath = "/AVProVideo/智能运动程序下载视频/"; // break; // case ZXK.UTility.EnumCtrl.Type.BYSS: // FloderPath = "/AVProVideo/搬运输送程序下载视频/"; // 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 { Debug.Log("不播放音频"); } } else { Btn.gameObject.SetActive(true); Btn.gameObject.GetComponent().alpha=1; Btn.gameObject.GetComponent