首页 > 代码库 > Unity3D MovieTexture 视频播放

Unity3D MovieTexture 视频播放

参考来源

参考的地方已经写明了两种方式播放视频,这里采用MovieTexture的方式播放。

首先得安装好QuickTime Player

Unity支持的播放视频格式有.mov、.mpg、.mpeg、.mp4、.avi和.asf

在安装好QuickTime后,将视频拉进Assets中,稍等即可显示出来,如果是白色的,那么quicktime没安装成功,或者重启后再试。

创建movie播放Script,

using UnityEngine;using System.Collections;public class Test: MonoBehaviour{    //电影纹理    public MovieTexture movTexture;    void Start()    {        //设置电影纹理播放模式为循环        movTexture.loop = true;    }    void OnGUI()    {        //绘制电影纹理        GUI.DrawTexture (new Rect (0,0, Screen.width, Screen.height),movTexture,ScaleMode.StretchToFill);          if(GUILayout.Button("播放/继续"))        {            //播放/继续播放视频            if(!movTexture.isPlaying)            {                movTexture.Play();            }        }        if(GUILayout.Button("暂停播放"))        {            //暂停播放            movTexture.Pause();        }        if(GUILayout.Button("停止播放"))        {            //停止播放            movTexture.Stop();        }    }}

这里申明了public MovieTexture movTexture;之后,将这个脚本绑定到Main Camera上后,即出现如下图

这里是选择绑定的视频。现在可以在PC上播放了。

移动平经测试

以上的方式在IOS和Android设备中是无法播放视频的,在移动设备上我们需要使用另外一种方式来播放。台上播放视频

using UnityEngine;using System.Collections;public class Test : MonoBehaviour {    void OnGUI()    {        if (GUI.Button (new Rect (20,10,200,50), "PLAY ControlMode.CancelOnTouch"))         {               Handheld.PlayFullScreenMovie("test.mp4", Color.black, FullScreenMovieControlMode.CancelOnInput);        }        if (GUI.Button (new Rect (20,90,200,25), "PLAY ControlMode.Full"))         {               Handheld.PlayFullScreenMovie("test.mp4", Color.black, FullScreenMovieControlMode.Full);        }        if (GUI.Button (new Rect (20,170,200,25), "PLAY ControlMode.Hidden"))         {                Handheld.PlayFullScreenMovie("test.mp4", Color.black, FullScreenMovieControlMode.Hidden);            }        if (GUI.Button (new Rect (20,250,200,25), "PLAY ControlMode.Minimal"))         {               Handheld.PlayFullScreenMovie("test.mp4", Color.black, FullScreenMovieControlMode.Minimal);        }    }}

1.视频播放时触摸屏幕视频关闭

2.视频播放时弹出IOS高级控件,控制视频暂停播放 全屏等等。

3.视频播放时无法停止,当其播放完一次后自动关闭

4.视频播放时弹出IOS高级控件,可控制播放进度。