Unity3d MovieTexture 实现视频播放

来源:互联网 发布:mac缺少图像源地址 编辑:程序博客网 时间:2024/06/02 17:24

1、Unity3d MovieTexture 自带识别.ogv格式的视频。无需利用QuickTimeplayer 去解析。但是网上有个单独转换的工具,无法识别视频duration,一直得到是-1.

2、下载一个QuickTime 并安装。 用视频用它先播放一下,如果无法播放。可以用视频格式转换软件转换成QuickTime可播放的编码格式。

3、将转换好的视频格式直接拖放到Unity3d 中,会自动解析。



4、简单的代码控制


        public MovieTexture m_MovieTexture = null;
        public AudioSource m_MovAudio;
        public bool ShowMovie = true;

        float m_Moiveduration = 0;
        float m_detaTime = 0;

        // Use this for initialization
        void Start()
        {            m_detaTime = 0;


            m_Moiveduration = m_MovieTexture.duration;
        }

        void OnGUI()
        {
            if (ShowMovie)
            {
                GUI.DrawTexture(new Rect(0, 0, Screen.width, Screen.height), m_MovieTexture, ScaleMode.StretchToFill);
                if (!m_MovieTexture.isPlaying && m_detaTime < m_Moiveduration)
                {
                    m_MovieTexture.Play();
                    m_MovAudio.Play();
                }
                m_detaTime += Time.deltaTime;
                if (!m_MovieTexture.isPlaying && m_detaTime > m_Moiveduration)
                {
                    ShowMovie = false;
                    m_MovieTexture.Stop();
                    m_MovAudio.Stop();
                    m_detaTime = 0;
                }
            }
        }


//可以加简单实现 在GUI上播放


还有添加到Render 上的MovieTexture 

//设置当前对象的主纹理为电影纹理
renderer.material.mainTexture=movTexture;
//设置电影纹理播放模式为循环
movTexture.loop=true;

0 0