using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Video;
///
/// 360视频播放控制组件,用来读取外部视频文件
///
public class Video360Controller : MonoBehaviour
{
private VideoPlayer mVideoPlayer;
public string VideoNameStr = "";
public double Time = 0;
private void Awake()
{
mVideoPlayer = gameObject.GetComponent();
mVideoPlayer.started += MVideoPlayer_started;
mVideoPlayer.prepareCompleted += MVideoPlayer_prepareCompleted;
PrepareVide(VideoNameStr);
}
public bool isPlaying
{
get { return mVideoPlayer.isPlaying; }
}
private void MVideoPlayer_started(VideoPlayer source)
{
if (Time != 0)
{
MVideoPlayer_started(Time);
}
}
private void MVideoPlayer_prepareCompleted(VideoPlayer source)
{
mVideoPlayer.Play();
}
public void MVideoPlayer_started(double mtime)
{
if (Time >= mVideoPlayer.length)
{
mVideoPlayer.time = mVideoPlayer.length;
return;
}
mVideoPlayer.time = mtime;
}
public void PrepareVide(string name)
{
try
{
string videoPath = FileLoad.GetMoviesFolder() + name;
Debug.Log($"目录检测{videoPath}");
mVideoPlayer.url = videoPath;
mVideoPlayer.Prepare();
}
catch (System.Exception e)
{
Debug.LogError(e.Message);
}
}
private void OnDisable()
{
Time = 0;
}
}