Unity3D之两种方式播放视频

来源:互联网 发布:如何关闭淘宝店铺 编辑:程序博客网 时间:2024/04/29 18:45

Unity支持的播放视频格式有.mov、.mpg、.mpeg、.mp4、.avi和.asf。只需将对应的视频文件拖拽入Project视图即可,它会自动生成对应的MovieTexture对象。记得需要安装QuickTime播放器哦。播放声音要AudioSource组件。

第一种是在游戏对象中播放,如我们在游戏世界中创建一个Plane或者Cube等对象(重新换个material),摄像机照射在这个对象上。

using UnityEngine;using System.Collections;public class MoviePlay : MonoBehaviour{public MovieTexture movieTexture;void Start (){if (movieTexture) {if (renderer){renderer.material.mainTexture = movieTexture;movieTexture.Play();} if (audio) {audio.clip = movieTexture.audioClip;audio.Play();}}}void OnGUI () {if (GUILayout.Button("Play/Continue")){if (!movieTexture.isPlaying) {movieTexture.Play();}}if (GUILayout.Button("Pause")){movieTexture.Pause();}if (GUILayout.Button("Stop")) {movieTexture.Stop();}}}


第二种是在GUI层面上播放视频。播放视频其实和贴图非常相像,因为播放视频用到的MovieTexture属于贴图Texture的子类。

using UnityEngine;using System.Collections;[RequireComponent(typeof(AudioSource))]public class MoviePlay : MonoBehaviour {public MovieTexture movieTexture;  void Start (){audio.clip = movieTexture.audioClip;movieTexture.Play(); audio.Play();}void OnGUI (){GUI.DrawTexture (new Rect (0,0, Screen.width, Screen.height), movieTexture, ScaleMode.ScaleToFit );if (GUILayout.Button("Play/Continue")){if (!movieTexture.isPlaying) {movieTexture.Play();}}if (GUILayout.Button("Pause")){movieTexture.Pause();}if (GUILayout.Button("Stop")) {movieTexture.Stop();}}}


 


 

原创粉丝点击