Unity真机非全屏播放视频

 转载注明出处:点击打开链接

 刚开始工作就遇到了一个麻烦的问题,在Androidios设备上实现视频的非全屏播放。

    Unity的原生技术中,可以使用MovieTexture实现PC上的该功能,但是在Androidios中不支持

    MovieTexture,使用MovieTexture将无法编译。而在Androidios中可以使用

    Handheld.PlayFullScreenMovie("test.mp4",Color.black,FullScreenMovieControlMode.CancelOnInput);

    方法实现视频的全屏播放,这里就不再多说,详情请参见:http://www.xuanyusong.com/archives/1019

 

    现在我们要做的是在移动设备中实现视频的非全屏播放。当点击Plane是播放视频,再次点击将暂停播放。

    首先我们要下载一个名为MobileMovieTexture的插件,

 地址为http://url.cn/5CO81sA 密码xHSpQt

    将该插件导入工程,即有如下

    Android <wbr>ios中实现MovieTexture视频播放

    新建一个材质球,我们起名为MovieMat,将该材质球的Shader改为Color Space>YCrCbtoRGB

    将该材质赋予你想要播放视频的物体上,我将其赋予新建的Plane上。

    将插件中的MobileMovieTexture脚本拖放到Plane中。

    Android <wbr>ios中实现MovieTexture视频播放

    脚本内容如下:

    Android <wbr>ios中实现MovieTexture视频播放

   Path:是视频的存放路径,视频必须放在StreamingAssets下,如下,StreamingAssets/abc.ogg,Path中只

   需要输入abc.ogg
    Android <wbr>ios中实现MovieTexture视频播放

    Movie Material:将刚才建立的材质球拖入

    Play Automatically:是否自动播放

    Loop:是否循环播放

    现在直接运行工程就视频就直接播放了。

  

    下面我们要实现视频的点击控制。

    建立脚本MovieCtrl.cs

    代码如下

    using UnityEngine;
    using System.Collections;

    public class MovieCtrl : MonoBehaviour

    {
       MobileMovieTexture movietexture;

       void Start () 
       {
          movietexture=GetComponent();
       }
       void OnMouseDown()
       {
            if (movietexture.isPlaying)
            {
               movietexture.pause = true;
            }
            else
            {
               if (movietexture.pause)
               {
                   movietexture.pause = false;
               }
               else
               {
                   movietexture.Play();
               }
             } 

         }
     }

     Play Automatically的对勾去掉。

     这样就实现了视频的播放了。    
    Android <wbr>ios中实现MovieTexture视频播放

    注意事项:1)该方法只能试用于ogg格式的视频文件,其它类型的视频文件可通过转码工具转码,

                 这里提供一工具,http://download.csdn.net/download/zhoujiang1015/3703647

                 亲测Mp4格式可用。

              2)与pcmovieTexture一样,不能播放声音,需要单独试用audio source播放。

                 若出现转码后视频中的声音文件无法播放问题,可以使用视频转码工具(如魔影工厂)单独

                 将视频文件转换成Mp3文件,用于视频播放。

              3) 同样需要QuickTime