1使用NGUI播放视频

使用movietexture,但是里面只有play,stop,pause  3个方法

Unity3D 原生就支持视频播放的,不是UITexture而是用MovieTexture。
MovieTexture.Playe(); 播放
MovieTexture.Pause();暂停
MovieTexture.Stop();停止

MovieTexture.loop = true;意思是循环播放,false意思是不循环播放

想把Unity中的3d渲染到你的texture上的话  使用Render Texture;   如果是直接播放视频文件

就使用movie texture(仅PC端支持)  手机iOS、Android的话 使用Mobile Movie Texture插件就可以;

还有就是Tween动画

http://blog.csdn.net/g__dragon/article/details/17371935

这个是下面内容的连接,经过测试是正确的,只不过可以不用QuickTime,只要有OGG,ogv格式的视频就可以。

利用NGUI播放视频,首先你得导入你的视频

你的电脑中必须安装QuickTime软件,没有,去下一个,如果是Windows系统,安装完之后重启。

接下来转换你的视频格式,如果你的视频在QuickTime里无法播放,那么也无法在Unity里播放,把你的视频转为.MOV格式(如果你的视频无法在QuickTime里播放的话)。

当然,如果你不想在导入视频的时候等待Unity的转换,你可以事先把视频转换成OGV或者OGG格式的,因为这两种格式Unity默认是支持的,导入时无需转换,直接可以播放。

虽然网上说QuickTime支持的视频类型很多,但是实际中发现,同样的格式有的就能播放,有的就不能播放。所以在导入Unity之前先放到QuickTime里试试。

打入后会这样一个视频文件,一个声音文件(如果你的视频有声音的话)。

接下俩见一个NGUI的Texture控件,把视频拖入Texture属性中,再把1.audio拖到Texture控件下。如图。

再添加三个Button和一个slider分别控制播放,暂停,停止,以及播放进度。再在每个Button上添加ButtonMessage脚本,Target为Texture,FuntionName为moviePlaneButtons,用来给texture传递播放状态信息。

接下来就是播放代码。

//影片纹理,必须附加到游戏物体上才能播放(指定到工程视图内要播放的音频) 
    public MovieTexture _MoiveTexture;
    float ftimeNow = 1;//当前播放时间
    public UISlider _UISlider;//用来显示播放进度的进度条
    string strPlayState = "null";//播放状态

void Start()
    {
        
        _MoiveTexture.loop = true;
        //HideMoviePlane();
    }

void Update()
    {
        TimeControl();
    }

///控制影片和影片声音 
    void moviePlaneButtons(GameObject obj)
    {
        if (obj.name == "Btn-Play")
        {
            if (!_MoiveTexture.isPlaying)
            {
                //播放影片 
                _MoiveTexture.Play();
                //播放物体上的声音(影片的子物体) 
                transform.audio.Play();
                strPlayState = "Play";
            }
        }

if (obj.name == "Btn-Pause")
        {
            if (_MoiveTexture.isPlaying)
            {
                //暂停 再play就是继续  
                _MoiveTexture.Pause();
                transform.audio.Pause();
                strPlayState = "Pause";
            }
        }
        if (obj.name == "Btn-Stop")
        {
            if (_MoiveTexture.isPlaying)
            {
                //结束 再play就是重新开始 
                _MoiveTexture.Stop();
                transform.audio.Stop();
                strPlayState = "Stop";
            }
        }
    }

/// <summary>
    /// 显示当前播放时间
    /// </summary>
    void TimeControl()
    {
        if (strPlayState == "Play")
        {
            ftimeNow = ftimeNow + 1 * Time.deltaTime;
        }
        else if (strPlayState == "Pause")
        { }
        else if (strPlayState == "Stop")
        {
            ftimeNow = 0f;
        }
        _UISlider.value = (ftimeNow / _MoiveTexture.duration);

}

时间: 2024-08-24 19:24:43

1使用NGUI播放视频的相关文章

NGUI播放视频、全屏等

using UnityEngine; using System.Collections; public class moive : MonoBehaviour { public MovieTexture movTexture; public GameObject moive_texture; public GameObject quan_bt; public GameObject quit_bt; public GameObject play_bt; // Use this for initia

Android使用TextureView播放视频

1.引言 如果你想显示一段在线视频或者任意的数据流比如视频或者OpenGL 场景,你可以用android中的TextureView做到. 1).TextureView的兄弟SurfaceView 应用程序的视频或者opengl内容往往是显示在一个特别的UI控件中:SurfaceView.SurfaceView的工作方式是创建一个置于应用窗口之后的新窗口.这种 方式的效率非常高,因为SurfaceView窗口刷新的时候不需要重绘应用程序的窗口(android普通窗口的视图绘制机制是一层一层的,任何

1.QT中播放视频,录音程序的编写

 1  通过process的方式播放视频 T22VideoPlayer.pro HEADERS += \ MyWidget.h SOURCES += \ MyWidget.cpp QT += gui widgets MyWidget.h #ifndef MYWIDGET_H #define MYWIDGET_H   #include <QWidget> #include <QProcess> #include <QSlider>   class MyWidget :

Unity中实现播放视频

突然想着在一个cube物体上播放视频会是怎样的情景.今天终于有时间来尝试下了.结果=>成功 下面来说说详细的步骤吧 准备阶段: 1.unity pro 专业版 =>  需正版(当然破解版也ok,你懂的). 2.安装QuickTime Player.必须要安装,否则导入movie资源时,unity会自动报错提醒的. 3.安装格式化工厂软件=>movie格式转换.其他工具也ok.我这里默认转换为MOV格式.100M的avi转换后大概7M. ====================== uni

播放视频的框架Vitamio的使用问题

以前用过这个牛逼的框架,后来又随意搞了下,发现播放不了视频了,搞了老半天才搞好,今天又随便整了下,发现又不行了,我勒个插! 现在终于又搞出来了,发现我总是把步骤搞错或少写了些东西 总的步骤: 一:导入vitamio_lib包 二:xml布局中的videoView要替换 三:java文件中的所有包导入的都是vitamio_lib下的东西 四:在java文件的setContentView前要加判断!!!<易遗忘> 五:在清单文件中要加入io.vov.vitamio.activity.InitAct

Firefox 无法播放视频

网上有很多介绍Firefox无法播放视频的解决方案,最常见的问题就是:为正确安装flash插件.其他的插件与flash插件冲突. 系统Win8.1(64位)下新安装了Firefox 29,flash插件也已正常安装,访问视频网站始终播放不了视频. 进入系统如下目录: C:\Windows\SysWOW64\Macromed\Flash\mms.cfg 1 SilentAutoUpdateEnable=1 2 AutoUpdateDisable=0 3 ProtectedMode=0 在文件尾部增

android 播放视频

播放视频的两种方式: 使用VideoView播放视频(方便,推荐) 使用MediaPlayer和SurfaceView播放视频(早期的方式) 第一种方式: 使用VideoView播放视频的步骤如下: 在界面布局文件中定义VideoView组件,或在程序中创建VideoView组建 调用VideoView的如下两个方法加载指定视频 setVideoPath(String paht):加载path文件所代表的视频 setVideoURI(URI uri):加载uri所对应的视频 调用VideoVIe

android 使用webview访问优酷无法播放视频的问题

在代码中加入 webview.getSettings().setJavaScriptEnabled(true);//支持js //webview.getSettings().setPluginsEnabled(true);//设置webview支持插件,已废弃 webview.settings.setPluginState(PluginState.ON); //设置webview支持插件 同时要在Manifest配置文件的application中加入 android:hardwareAccele

MPMoviePlayerController播放视频

基本的视频播放,应该都是用MPMoviePlayerController吧,SDK文档里给出的例子也是这样的. 一般的步骤: 1. 准备好视频路径,创建MPMoviePlayerController,即使是本地视频文件,也要生成NSURL路径. [cpp] view plaincopy NSString *file = [[NSBundle mainBundle] pathForResource:@"test_movie" ofType:@"mp4"]; NSURL