第一步: 将VideoManage/(或者Plane也可以,但是用plane的话需要给场景打灯光)拖进工作面板中
第二步:编写脚本
`using UnityEngine;
using System.Collections;
public class MovieTest : MonoBehaviour
{
public MovieTexture movie; //电影纹路
public AudioClip myAudio;
public MovieTexture movie01;
public MovieTexture movie02;
public MovieTexture movie03;
public MovieTexture movieCompany;
public AudioClip myAudio01;
public AudioClip myAudio02;
public AudioClip myAudio03;
public AudioClip myAudioCRCCE;
void Start()
{
}
void Update()
{
}
public void PlayMovie(MovieTexture movie ,AudioClip myAudio)
{
this.movie = movie;
this.myAudio = myAudio;
gameObject.GetComponent<Renderer>().material.mainTexture = movie;
gameObject.GetComponent<AudioSource>().clip = myAudio;
movie.loop = true;
gameObject.GetComponent<AudioSource>().enabled = false;
gameObject.GetComponent<AudioSource>().enabled = true;
}
void OnGUI()
{
if (GUI.Button(new Rect(10,10,120,60),"视频一"))
{
PlayMovie(movie01 ,myAudio01);
}
if (GUI.Button(new Rect(10, 70, 120, 60), "视频二"))
{
PlayMovie(movie02,myAudio02);
}
if (GUI.Button(new Rect(10, 130, 120, 60), "视频三"))
{
PlayMovie(movie03,myAudio03);
}
if (GUI.Button(new Rect(550, 10, 120, 60), "Play"))
{
movie.Play();
}
if (GUI.Button(new Rect(550, 70, 120, 60), "Pause"))
{
movie.Pause();
}
if (GUI.Button(new Rect(550, 130, 120, 60), "Stop"))
{
movie.Stop();
gameObject.GetComponent<AudioSource>().enabled = false;
gameObject.GetComponent<AudioSource>().enabled = true;
}
}
}
`
第三步:
将脚本挂在某个物体上
注:
有人可能不懂我为什么要加下面的这两行代码
其实我也不是太懂这个原因,
最开始做的时候,我也是按照常规方法来的,运行的时候发现视频没有声音,无意中勾掉了AudioSource组件,然后又勾上,发现声音奇迹的回来啦,,哈哈,有种瞎猫碰上死耗子的感觉
但是在触发stop函数时也会出现声音丢失的现象,于是我采用了同一种方法。
虽然有点扯,但最后也解决了问题。