unity使用easy movie texture播放全景视频

15 篇文章 0 订阅
5 篇文章 0 订阅
unity的商店插件,easy movie texture,非常好用,自带了可以播放全景视频的demo,Demo_Sphere这个场景里的sphere直接可以用,在这里直接贴上控制的代码
你需要创建一个public MediaPlayerCtrl mpc;变量,补上其他的代码就可以了
加载视频的方法是mpc.Load(url/加载网络播放的网址路径,也可以是“file//:加本地路径”/);
    void Start()
    {
        mpc.OnReady = this.OnReady;
        mpc.OnEnd = this.OnEnd;
    }
    // Update is called once per frame
    void Update()
    {



        UpdateMovieSlider();
        UpdateMovieTime();
        UpdateTotalTime();
    }



    public Text totalTime;
    public Text movieTime;
    public Slider movieSlider;
    private bool isFinish = false;
    private bool isPlay = false;
    private bool isCtrlMovie = false;
    private int fastbackTemp = 0;
    private int totaltime = 0;
    public Button btnPlay, btnPause;

    /// <summary>  
    /// 更新视频进度条  
    /// </summary>  
    public void UpdateMovieSlider()
    {
        if (mpc.GetSeekPosition() != 0 && !isCtrlMovie)
        {
            float slider = (float)mpc.GetSeekPosition() / (float)mpc.GetDuration();
            movieSlider.value = slider;
        }
    }
    /// <summary>  
    /// 更新视频总时间  
    /// </summary>  
    public void UpdateTotalTime()
    {
        if (this.totalTime.text != null && isPlay)
        {
            if (totaltime != mpc.GetDuration() / 1000)
            {
                totaltime = mpc.GetDuration() / 1000;
                int min = totaltime / 60;
                int seconds = totaltime - min * 60;
                this.totalTime.text = min.ToString("00") + ":" + seconds.ToString("00");
            }
        }
    }
    /// <summary>  
    /// 更新视频时间  
    /// </summary>  
    public void UpdateMovieTime()
    {
        if (this.movieTime.text != null && isPlay)
        {
            int movieTime = mpc.GetSeekPosition() / 1000;
            int min = movieTime / 60;
            int seconds = movieTime - min * 60;
            this.movieTime.text = min.ToString("00") + ":" + seconds.ToString("00");
        }
    }

    /// <summary>  
    /// 移动视频进度条  
    /// </summary>  
    public void OnDragSlider()
    {
        Debug.Log("--> drag!");
        //if (!isPlay) return;
        int seekPos = (int)(movieSlider.value * mpc.GetDuration());
        mpc.SeekTo(seekPos);
    }
    /// <summary>  
    /// 按下视频进度条  
    /// </summary>  
    public void OnPoniterDownSlider()
    {
        Debug.Log("--> down!");
        //if (!isPlay) return;
        MoviePause();
        isCtrlMovie = true;
        int seekPos = (int)(movieSlider.value * mpc.GetDuration());
        mpc.SeekTo(seekPos);
    }
    /// <summary>  
    /// 弹起视频进度条  
    /// </summary>  
    public void OnPoniterUpSlider()
    {
        Debug.Log("--> up!");
        //if (!isPlay) return;
        MoviePlay();
        isCtrlMovie = false;
    }

    /// <summary>  
    /// 视频播放  
    /// </summary>  
    public void MoviePlay()
    {
        mpc.Play();
        isPlay = true;
        isFinish = false;

        btnPlay.gameObject.SetActive(false);
        btnPause.gameObject.SetActive(true);
    }
    /// <summary>  
    /// 视频暂停  
    /// </summary>  
    public void MoviePause()
    {
        isPlay = false;
        mpc.Pause();

        btnPlay.gameObject.SetActive(true);
        btnPause.gameObject.SetActive(false);
    }
    /// <summary>  
    /// 视频停止  
    /// </summary>  
    public void MovieStop()
    {
        isPlay = false;
        mpc.Stop();
    }
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值