Unity3d MovieTexture 实现视频播放

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
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

虾米神探

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值