Unity学习记录4——视频进度条制作,视频倍速、快进及后退

这篇具有很好参考价值的文章主要介绍了Unity学习记录4——视频进度条制作,视频倍速、快进及后退。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.使用AVPro Video插件,进行制作

2.效果演示

unity3d使用avprovideo实现快退,unity,学习,音视频

unity3d使用avprovideo实现快退,unity,学习,音视频 

 

3.代码文章来源地址https://www.toymoban.com/news/detail-772335.html

 void Start()
    {
        MediaPlayerone.m_VideoPath = Application.streamingAssetsPath + "/字言奇说.mp4";
        MediaPlayerone.OpenVideoFromFile(MediaPlayer.FileLocation.AbsolutePathOrURL, MediaPlayerone.m_VideoPath, true);
    }

    // Update is called once per frame
    void Update()
    {
    //视频当前时长
        one.text = convertime(GetCurrenAllTime());
     //视频总时长
        two.text = convertime(GetMovieAllTime());
        if(time)
        {
            Sliderone.value = MediaPlayerone.Control.GetCurrentTimeMs();
        }
       
    }
    public MediaPlayer MediaPlayerone;
    public Text one;
    public Text two;
    public Slider Sliderone;
    public Slider audioSliderone;
    public float num;
    //public ServerControllerSample sample;
    public Dropdown Dropdownone;
    //视频显示 总时间
    public float GetMovieAllTime()
    {
        //毫秒 获取视频总时间
        Sliderone.maxValue = MediaPlayerone.Info.GetDurationMs();
        return MediaPlayerone.Info.GetDurationMs();
    }
    //视频 当前时间
    public float GetCurrenAllTime()
    {
        //毫秒 获取视频当前播放时间       
         //Sliderone.value = MediaPlayerone.Control.GetCurrentTimeMs();
        return MediaPlayerone.Control.GetCurrentTimeMs();
       
    }
    public string convertime(float time)
    {
        int scecond = (int)(time / 1000f);
        int min = scecond / 60;
        scecond = scecond % 60;
        //三目运算符
        return scecond < 10 ? "0" + min + ":" + "0" + scecond : "0" + min + ":" + scecond;
    }
    //开始拖拽 视频停止播放
    public void stop()
    {
        time = false;
        MediaPlayerone.Pause();
        
    }
    public bool time=true;
    //结束拖拽 视频播放 跳转到规定位置
    public void pause()
    {
        time = true;      
        MediaPlayerone.Play();
        num = Sliderone.value;
        MediaPlayerone.Control.Seek(num);       
    }
    //倍速
    public void dropdown()
    {
        if (Dropdownone.value == 0)
        {
            MediaPlayerone.Control.SetPlaybackRate(0.5f);

        }
        if (Dropdownone.value == 1)
        {
            MediaPlayerone.Control.SetPlaybackRate(1f);
        }
        if (Dropdownone.value == 2)
        {
            MediaPlayerone.Control.SetPlaybackRate(1.5f);
        }
    }
    //视频快进或后退的时间
    public float m_backSeconds;
    //视频快进
    public void kuaijin()
    {
        float currentime = MediaPlayerone.Control.GetCurrentTimeMs();
        currentime = (currentime + m_backSeconds * 1000) >= 0 ? currentime + m_backSeconds * 1000 : currentime;
        print("时间:"+currentime);
        MediaPlayerone.Control.Seek(currentime);
    }
    //视频后退
    public void tui()
    {
        float currentime = MediaPlayerone.Control.GetCurrentTimeMs();
        currentime = (currentime - m_backSeconds * 1000) >= 0 ? currentime -m_backSeconds * 1000 : currentime;
        MediaPlayerone.Control.Seek(currentime);
    }
    //音量控制
    public void control()
    {
        float a = audioSliderone.value;
        MediaPlayerone.Control.SetVolume(a);
    }

到了这里,关于Unity学习记录4——视频进度条制作,视频倍速、快进及后退的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue自定义h5video视频播放器进度条组件,可拖拽、跳转、倍速、全屏

    一个进度条组件控制多个视频的播放、进度调整。视频可点击全屏观看,唯一的进度条是某个指定视频的视频信息。 全屏 点击进度条跳转 拖动滑块 在菜鸟教程上有以下几个参数的详细解说,这张图忘记哪里看的了,如有认领可评论我贴链接 倍速 // 倍速 handleChangeSpeed(item)

    2024年02月12日
    浏览(108)
  • 网络课程学习视频的快进播放和去除鼠标移动视频暂停的问题

    1. 视频播放,鼠标移动或者切换页面,打开其他软件或者文件,视频暂停,如何解决? 2. 很多网络学习视频学习时,不能快进播放,太慢,耗时间,如何让视频能加速播放? 亲测有效, 问题1的解决方案: 打开要播放的视频网页,键盘 Fn+f12 组合键,弹出网页代码编辑界面,

    2024年02月11日
    浏览(94)
  • uniapp计算视频学习进程,并且下次回来继续播放(不能快进)

    该功能分别有三个难点: 比如该视频的总时长为120秒,然后现在播放的时长为12秒,计算当前视频学习时长的百分比 比如该视频的总时长为120秒,当前视频学习时长为10%,计算上次播放视频的秒数 到这里第一个难题已经解决 然后想要获取上次播放视频的秒数最佳方法就是请

    2024年02月02日
    浏览(45)
  • Unity学习记录:制作双屏垃圾分类小游戏

    要实现的功能 游戏操作 在规定时间内,垃圾通过拖拽进入正确垃圾桶的容器,垃圾在这里消失,飞入第二个屏上对应垃圾桶的位置并实现加分和加时间的效果,垃圾拖拽进入不正确的垃圾桶,垃圾会返回到原来的位置,同时,相应的时间也会减少 胜利和失败的条件: 胜利:

    2024年02月03日
    浏览(49)
  • 【Unity AR】<PokemonGo> AR精灵制作学习记录

        《宝可梦GO》(pokemonGo)是一款能对现实世界中出现的宝可梦进行探索捕捉、战斗以及交换的游戏。玩家可以通过智能手机在现实世界里发现宝可梦,进行抓捕和战斗。玩家作为宝可梦训练师抓到的宝可梦越多会变得越强大,从而有机会抓到更强大更稀有的宝可梦。本次

    2024年04月28日
    浏览(43)
  • Unity制作曲线进度条

    unity制作曲线进度条   大家好,我是阿赵。   在使用Unity引擎做进度条的时候,有时会遇到一个问题,如果进度条不是简单的横向、纵向或者圆形,而是任意的不规则形状,那该怎么办呢?比如这样的:   这个进度条的原理很简单,我们需要一张跟随这路径变化灰度的

    2024年02月04日
    浏览(31)
  • Unity——两种进度条的制作

    Step1:创建Slider和Text,随便摆一下  Step2:写脚本 Step3:把场景加载到BuildSetting中 Done! Step1:找到类似圆环的图片,做成Image,再加一个Text  Step2:把Image的类型改成Filled类型,起始点Origin改成Top,Clockwise改为false               fillAmount改为0  Step3:写脚本 这里和上面不一样的

    2024年02月16日
    浏览(31)
  • Unity进度条简单制作(两个Image搞定)

    首先在unity创建一个新项目 创建一个panel,在panel中创建两个相同大小的Image 3.在子Image中设置一张精灵图,并且设置颜色,父Image也同样设置颜色 4.将图像类型设置为“已填充”,填充方法设置为“水平” 5.设置完毕后创建一个脚本文件,代码如下 6.将脚本文件拖到panel上挂载

    2024年02月11日
    浏览(24)
  • 手把手教会你Unity场景切换进度条制作

    大家好,我是橙子,今天为大家带来的是Unity场景切换进度条的教程。 ★,♫◦★,♫◦★,♫◦★,--------------------华丽的分割线--------------------♫◦★,♫◦★,♫◦★,♫◦★,♫◦ 答:有一些场景,里面包含非常多的资源,比如一个很大的游戏场景,往往加载很慢。这个时候,如

    2023年04月09日
    浏览(49)
  • js禁止用户通过video标签自带的进度条进行快进(包括键盘方向键快进),允许快退,下次播放时从上次观看时长继续播放。

    今天遇到一个需求,用户观看视频时不允许快进(包括键盘方向键的默认事件),允许快退,并且下次进入时从上次播放的时长继续播放。 以下是实现代码   看网上好多说用css来实现或者干掉video标签的controls,通过自己编写样式以及功能实现控制条播放、全屏等等,看了

    2024年02月12日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包