游戏蛮牛学习群(纯技术交流,不闲聊):159852603
游戏蛮牛 手机端
开启辅助访问
 找回密码
 注册帐号

扫一扫,访问微社区

项目源码

关注:1427

当前位置:游戏蛮牛 资源专区 项目源码

查看: 525|回复: 6

[Unity] Unity5.6以及以后版本Video Player组件用Slider控制视频进度

[复制链接]  [移动端链接]
5熟悉之中
713/1000
排名
3314
昨日变化
12

8

主题

44

帖子

713

积分

Rank: 5Rank: 5

UID
199915
好友
1
蛮牛币
2316
威望
0
注册时间
2017-1-8
在线时间
243 小时
最后登录
2018-10-19
发表于 2018-5-9 20:23:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册帐号

x
unity5.6以后有了一个新的组件Video Player,可以用这个组件控制视频进度。
代码如下,你只需要将这个代码挂到一个地方,并且给相应槽位赋值就行;
using UnityEngine;
using UnityEngine.Video;
using UnityEngine.UI;
using UnityEngine.EventSystems;
public class TestVideoPlayer : MonoBehaviour
{
    public Slider progressSli;
    public VideoPlayer videoPlayer;
    bool canSetProgress;
    float allVideoTime;

    //此处如果将赋值语句放到Awake中,frameCount的值就无法正常获取;
    void Start()
    {
        canSetProgress = true;
        //得到视频总时长,(帧数/帧率=总时长)
        allVideoTime = videoPlayer.frameCount / videoPlayer.frameRate;
    }
    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            GameObject current = EventSystem.current.currentSelectedGameObject;
            if (current==null)
                return;
            //如果你选中的UI是progressSli那么进行设置
            if (current.Equals(progressSli.gameObject))
            {
                canSetProgress = false;
            }
        }
        if (Input.GetMouseButtonUp(0))
        {
            //设置当前视频的时间是你拖拽的slider的value的位置
            videoPlayer.time = progressSli.value * allVideoTime;
            canSetProgress = true;
            videoPlayer.Play();
        }
        if (canSetProgress)
        {
            //设置slider的value使之自动跟随视频现在时长
            progressSli.value = (float)videoPlayer.time / allVideoTime;
        }
    }

}


经过测试大致可以实现需求,但是,可能是这个组件的原因,在拖拽slider并且松开的时候,视频会卡一段时间再播放。



回复

使用道具 举报

5熟悉之中
976/1000
排名
6717
昨日变化
4

0

主题

642

帖子

976

积分

Rank: 5Rank: 5

UID
21411
好友
1
蛮牛币
1072
威望
0
注册时间
2014-4-15
在线时间
150 小时
最后登录
2018-7-24
发表于 2018-5-15 18:44:51 | 显示全部楼层
谢谢分享

回复

使用道具 举报

4四处流浪
424/500
排名
5636
昨日变化
29

0

主题

72

帖子

424

积分

Rank: 4

UID
71644
好友
0
蛮牛币
682
威望
0
注册时间
2015-1-28
在线时间
120 小时
最后登录
2018-10-19
发表于 2018-5-16 18:03:07 | 显示全部楼层
66666666666666666

回复 支持 反对

使用道具 举报

5熟悉之中
976/1000
排名
6717
昨日变化
4

0

主题

642

帖子

976

积分

Rank: 5Rank: 5

UID
21411
好友
1
蛮牛币
1072
威望
0
注册时间
2014-4-15
在线时间
150 小时
最后登录
2018-7-24
发表于 2018-5-17 11:26:53 | 显示全部楼层
谢谢分享

回复

使用道具 举报

5熟悉之中
976/1000
排名
6717
昨日变化
4

0

主题

642

帖子

976

积分

Rank: 5Rank: 5

UID
21411
好友
1
蛮牛币
1072
威望
0
注册时间
2014-4-15
在线时间
150 小时
最后登录
2018-7-24
发表于 2018-5-17 12:49:34 | 显示全部楼层
谢谢分享

回复

使用道具 举报

2初来乍到
121/150
排名
16199
昨日变化
11

0

主题

37

帖子

121

积分

Rank: 2Rank: 2

UID
209518
好友
0
蛮牛币
23
威望
0
注册时间
2017-3-2
在线时间
44 小时
最后登录
2018-9-28
发表于 2018-5-30 17:02:30 | 显示全部楼层
谢谢分享!
[发帖际遇]: KeerGou 发帖时在路边捡到 1 蛮牛币,偷偷放进了口袋. 幸运榜 / 衰神榜

回复

使用道具 举报

4四处流浪
420/500
排名
6466
昨日变化
53

0

主题

147

帖子

420

积分

Rank: 4

UID
114090
好友
0
蛮牛币
257
威望
0
注册时间
2015-7-18
在线时间
77 小时
最后登录
2018-10-21
发表于 2018-6-5 10:10:56 | 显示全部楼层
谢谢分享 顶一个

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则

快速回复 返回顶部 返回列表