Unity VideoPlayer视频播放器,进度条滑动,视频时长显示

这篇博客介绍了如何在Unity中使用VideoPlayer组件显示视频时长,并实现滑动条与视频进度同步,以及通过滑动条控制视频播放的功能。提供了详细的代码示例和DEMO链接,帮助开发者理解Unity中的视频播放控制逻辑。
摘要由CSDN通过智能技术生成

Unity 自带的视频播放器VideoPlayer

1.显示视频时长在text显示出来

timeText.text = string.Format("{0} / {1}", ToTimeFormat((float)videoplayer.time), ToTimeFormat((float)videoplayer.length));
//时长用00:00显示
    private string ToTimeFormat(float time)
    {
        int seconds = (int)time;
        int minutes = seconds / 60;
        seconds %= 60;
        return string.Format("{0:D2}:{1:D2}", minutes, seconds);
    }

2.滑动条跟着视频进度

progressSlider.value = (float)(videoplayer.time / videoplayer.length);

 3.拖动滑动条

// 开始拖动视频进度条
progressSlider.OnEventTriggerEvent(EventTriggerType.PointerDown, s => 
    {
         videoplayer.Stop();
         btn_Play.gameObject.SetActive(true);
         btn_Pause.gameObject.SetActive(false);
    });
//结束拖动视频进度条
progressSlider.OnEventTriggerEvent(EventTriggerType.PointerUp, s =>
    {
         btn_Play.gameObject.SetActive(false );
         btn_Pause.gameObject.SetActive(true);
         videoplayer.time = progressSlider.value * videoplayer.length;
         videoplayer.Play();
     });


public static class UIBehaviourExtension
{
    /// <summary>
    /// 添加EventTrigger事件监听
    /// </summary>
    /// <typeparam name="T"></typeparam>
    /// <param name="self"></param>
    /// <param name="type"></param>
    /// <param name="action"></param>
    /// <returns></returns>
    public static T OnEventTriggerEvent<T>(this T self, EventTriggerType type, UnityAction<BaseEventData> action) where T : UIBehaviour
    {
        var eventTrigger = self.GetComponent<EventTrigger>() ?? self.gameObject.AddComponent<EventTrigger>();
        EventTrigger.Entry entry = new EventTrigger.Entry { eventID = type };
        entry.callback.AddListener(action);
        eventTrigger.triggers.Add(entry);
        return self;
    }
}

 

 DEMO链接

链接:https://pan.baidu.com/s/1_RPhBplwOB0VDABczWSncw
提取码:l8xr

  • 8
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值