zoukankan      html  css  js  c++  java
  • 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高级控件,可控制播放进度。

  • 相关阅读:
    PHP调试总结
    vim常用命令
    Xshell
    JavaScript
    HTML+CSS
    解决VMware“该虚拟机似乎正在使用中”问题
    MVC dirname(——FILE——)
    各种编程语言中的指针和引用
    Go defer 原理和源码剖析
    软件架构定义的流派
  • 原文地址:https://www.cnblogs.com/bkycjj/p/3910380.html
Copyright © 2011-2022 走看看