unity 5.3.1播放视频文件

2 篇文章 0 订阅
</pre><pre code_snippet_id="1626332" snippet_file_name="blog_20160328_2_2976351" name="code" class="csharp">
using UnityEngine;
using System.Collections;
public class mov : MonoBehaviour
{

    public MovieTexture movTexture;
    void Start()
    {
        //设置当前对象的主纹理为电影纹理
        GetComponent<Renderer>().material.mainTexture = movTexture;
        movTexture.Play();
        //设置电影纹理播放模式为循环
        movTexture.loop = true;
    }

    void OnGUI()
    {
        if (GUILayout.Button("播放/继续"))
        {
            //播放/继续播放视频
            if (!movTexture.isPlaying)
            {
                movTexture.Play();
            }

        }
        if (GUILayout.Button("暂停播放"))
        {
            //暂停播放
            movTexture.Pause();
        }
        if (GUILayout.Button("停止播放"))
        {
            //停止播放
            movTexture.Stop();
        }
    }
}

更多时候是视频本身的格式或者分辨率所致,需要使用某一个软件进行转化一些,即可;TheoraConverte

此软件我已共享到csdn,链接如下:http://download.csdn.net/detail/luckydog1120446388/9333693



原文连接:http://blog.csdn.net/luckydogyxx/article/details/50206049

在移动端,unity并不提供MovieTexture,AVPro QuickTime也用不了,其最基本的显示方案使用通过 PlayFullScreenMovie ()函数进行全屏播放,根据其官网解释,主要有以下方面:

<span style="background-color: rgb(255, 255, 255);">(1)视频流直接从设备存储器中获得,所以文件只能是单独提供,视频文件放置在StreamingAssets 文件夹中</span>
<span style="background-color: rgb(255, 255, 255);">(2) 视频播放过陈中,unity将会停止;播放结束后unity自动恢复;播放过程中屏幕中的颜色会变为播放器的背景颜色,播放之后恢复。</span>
<span style="background-color: rgb(255, 255, 255);">(3)在IOS中,内部实际上是调用MPMoviePlayerController的方法</span>
<span style="background-color: rgb(255, 255, 255);">(<span class="number">4</span>)能够支持的格式: .mov, .mp4, .mpv, <span class="keyword" style="font-weight: bold;">and</span> .<span class="number">3</span>gp ,<span class="constant">H</span>.<span class="number">264</span>,<span class="constant">MPEG</span>-<span class="number">4</span> <span class="constant">Part</span> <span class="number">2</span> video</span>
<span style="background-color: rgb(255, 255, 255);"> Handheld.PlayFullScreenMovie ("StarWars.mp4", Color.black, FullScreenMovieControlMode.CancelOnInput);</span>
<span style="background-color: rgb(255, 255, 255);">也就是说unity提供的方法更简单了,窗口方式也回避了,还是要去寻求第三方插件。</span>
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);  
        }  
  
    }  
  
}  


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值