使用Unity加载外部视频

在Unity中加载外部视频


可能是Unity的一个官方BUG,在利用WWW记载视频文件的时候不能加载成功,提示 “MoviePlayback::LoadMovieData got NULL!
UnityEngine.WWW:get_movie()” 。 但是当build up后,运行exe文件便没有这样的问题。 


在这次的项目中,通过一个文件对话框选择一个视频文件后,利用WWW加载视频文件,视频文件的格式选用的是.ogv的,网上都说其他的不行,貌似是不行,没有试过,但是。


WWW www = new WWW ("file:///" + filename);

其中 “file:///”是不可少的,开始的时候我未加上它,视频文件没能加载成功,加上后,视频文件就能加载成功了。,当然是built up后运行exe文件的时候可以成功。

其中下面是我加载视频文件的函数


<span style="white-space:pre">	</span>IEnumerator WaitLoadVideo(string filename)
	{
		if(((MovieTexture)(videoObj.GetComponent<Renderer> ().material.mainTexture)).isPlaying)
			((MovieTexture)(videoObj.GetComponent<Renderer> ().material.mainTexture)).Stop ();
		
		WWW www = new WWW ("file:///" + filename);

		while (!www.isDone) {
			yield return null;
		}
		text.GetComponent<Text> ().text = "1-"+ DataManager.Instance.allVideos.Count.ToString();
		DataManager.Instance.allVideos.Add (www.movie);

		Renderer rend;
		rend = videoObj.GetComponent<Renderer> ();

		videoIndex = DataManager.Instance.allVideos.Count - 1;
		rend.material.SetTexture("_MainTex", DataManager.Instance.allVideos[videoIndex]);

		yield return new WaitForSeconds (1.0f);

	}


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值