栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 游戏开发 > Unity3D

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

Unity3D 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

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
{
    /// 
    /// 添加EventTrigger事件监听
    /// 
    /// 
    /// 
    /// 
    /// 
    /// 
    public static T OnEventTriggerEvent(this T self, EventTriggerType type, UnityAction action) where T : UIBehaviour
    {
        var eventTrigger = self.GetComponent() ?? self.gameObject.AddComponent();
        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
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/897824.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号