目前为止Unity的视频播放能力只限制在 MovieTexture函数,并且只在PC平台,且是Pro only,移动平台下是完全不能使用的;
WWW.movie该函数是实现视频的本地或网络加载功能,并使用MovieTexture进行播放;
注意:加载的视频格式必须是Ogg Theora 制式的,其他的不能加载;
有一个好处就是能够实现,下载多少,就播放多少的功能;不需等待全部加载完。
var url = "http://www.unity3d.com/webplayers/Movie/sample.ogg";
function Start () {
// Start download
var www = new WWW(url);
// Make sure the movie is ready to start before we start playing
var movieTexture = www.movie;
while (!movieTexture.isReadyToPlay)
yield;
// Initialize gui texture to be 1:1 resolution centered on screen
guiTexture.texture = movieTexture;
transform.localScale = Vector3 (0,0,0);
transform.position = Vector3 (0.5,0.5,0);
guiTexture.pixelInset.xMin = -movieTexture.width / 2;
guiTexture.pixelInset.xMax = movieTexture.width / 2;
guiTexture.pixelInset.yMin = -movieTexture.height / 2;
guiTexture.pixelInset.yMax = movieTexture.height / 2;
// Assign clip to audio source
// Sync playback with audio
audio.clip = movieTexture.audioClip;
// Play both movie & sound
movieTexture.Play();
audio.Play();
}
// Make sure we have gui texture and audio source
@script RequireComponent (GUITexture)
@script RequireComponent (AudioSource)
// Plays a movie over a texture from a stream
var wwwData : WWW;
var url : String = "";
function Start () {
wwwData = new WWW(url);
guiTexture.texture = wwwData.movie;
}
function Update () {
var m : MovieTexture = guiTexture.texture as MovieTexture;
if (!m.isPlaying && m.isReadyToPlay)
m.Play ();
}