Unity中视频播放控制

Unity中视频播放控制

基于Unity提供的VideoPlayer组件实现,播放进度的控制。播放组件的自动隐藏,显示。如图:

在这里插入图片描述

部分代码如下:
  1. 读取当前视频时间,设置格式部分代码
  /// <summary>
    /// 更新视频的播放时间
    /// </summary>
    public void UpdateVideoTimeText()
    {
        videoProgress.fillAmount = ((float)videoPlayer.frame / (float)videoPlayer.frameCount);

        VideoNowTime.text = ((int)videoPlayer.time / 60).ToString("D2") + ":" +
            ((int)videoPlayer.time % 60).ToString("D2");
    }
  1. 获取播放进度,并设置视频跳转部分代码
 private void TrySkip(PointerEventData eventData)
    {
        Vector2 localPoint;
        if (RectTransformUtility.ScreenPointToLocalPointInRectangle(videoProgress.rectTransform, eventData.position,
                null, out localPoint))
        {
            float pct = Mathf.InverseLerp(videoProgress.rectTransform.rect.xMin,
                videoProgress.rectTransform.rect.xMax,
                localPoint.x);
            SkipToTarget(pct);
        }
    }
    private void SkipToTarget(float pct)
    {
        var frame = videoPlayer.frameCount * pct;
        videoPlayer.frame = (long)frame;
        videoPlayer.Play();
        isPause=false;
        videoControlling?.Invoke();
        playControllerImg.sprite = playSprite;
    }
  1. 控制视频操作界面显示、关闭部分代码
    void OnEnable()
    {
        StartCoroutine("DelayHide");
    }
    void Start()
    {
        videoController.videoPause += () =>
        {
            StopCoroutine("DelayHide");
            if (animator.GetCurrentAnimatorStateInfo(0).IsName("FadeOutAnimation"))
            {
                StartCoroutine("Show");
            }
        };

        videoController.videoControlling += () =>
        {
            StopCoroutine("DelayHide");
            if (!videoController.IsPause)
                StartCoroutine("DelayHide");
        };
    }
      public IEnumerator Show()
    {
        yield return null;
        animator.SetTrigger("FadeIn");
    }
    public IEnumerator DelayHide()
    {
        yield return new WaitForSeconds(4.0f);
        animator.SetTrigger("FadeOut");
    }

完整代码:

https://gitee.com/Sun_ME/Unity_VideoPlayerController.git

更多内容,欢迎关注:

在这里插入图片描述

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值