unity的商店插件,easy movie texture,非常好用,自带了可以播放全景视频的demo,Demo_Sphere这个场景里的sphere直接可以用,在这里直接贴上控制的代码
加载视频的方法是mpc.Load(url/加载网络播放的网址路径,也可以是“file//:加本地路径”/);
void Start()
{
mpc.OnReady = this.OnReady;
mpc.OnEnd = this.OnEnd;
}
void Update()
{
UpdateMovieSlider();
UpdateMovieTime();
UpdateTotalTime();
}
public Text totalTime;
public Text movieTime;
public Slider movieSlider;
private bool isFinish = false;
private bool isPlay = false;
private bool isCtrlMovie = false;
private int fastbackTemp = 0;
private int totaltime = 0;
public Button btnPlay, btnPause;
public void UpdateMovieSlider()
{
if (mpc.GetSeekPosition() != 0 && !isCtrlMovie)
{
float slider = (float)mpc.GetSeekPosition() / (float)mpc.GetDuration();
movieSlider.value = slider;
}
}
public void UpdateTotalTime()
{
if (this.totalTime.text != null && isPlay)
{
if (totaltime != mpc.GetDuration() / 1000)
{
totaltime = mpc.GetDuration() / 1000;
int min = totaltime / 60;
int seconds = totaltime - min * 60;
this.totalTime.text = min.ToString("00") + ":" + seconds.ToString("00");
}
}
}
public void UpdateMovieTime()
{
if (this.movieTime.text != null && isPlay)
{
int movieTime = mpc.GetSeekPosition() / 1000;
int min = movieTime / 60;
int seconds = movieTime - min * 60;
this.movieTime.text = min.ToString("00") + ":" + seconds.ToString("00");
}
}
public void OnDragSlider()
{
Debug.Log("--> drag!");
int seekPos = (int)(movieSlider.value * mpc.GetDuration());
mpc.SeekTo(seekPos);
}
public void OnPoniterDownSlider()
{
Debug.Log("--> down!");
MoviePause();
isCtrlMovie = true;
int seekPos = (int)(movieSlider.value * mpc.GetDuration());
mpc.SeekTo(seekPos);
}
public void OnPoniterUpSlider()
{
Debug.Log("--> up!");
MoviePlay();
isCtrlMovie = false;
}
public void MoviePlay()
{
mpc.Play();
isPlay = true;
isFinish = false;
btnPlay.gameObject.SetActive(false);
btnPause.gameObject.SetActive(true);
}
public void MoviePause()
{
isPlay = false;
mpc.Pause();
btnPlay.gameObject.SetActive(true);
btnPause.gameObject.SetActive(false);
}
public void MovieStop()
{
isPlay = false;
mpc.Stop();
}