AVProVideo视频进度条

AVProVideo视频进度条1,新建slider并添加事件

大家好,又见面了,我是你们的朋友全栈君。

1,新建slider并添加事件

 1  public MediaPlayer _mediaPlayer;
 2     public Slider _videoSeekSlider;
 3     public Text time;
 4     float _setVideoSeekSliderValue;
 5     private bool _wasPlayingOnScrub;
 6 
 7     void Update()
 8     {
 9 
10         int _all = (int)float.Parse((_mediaPlayer.m_Info.GetDurationMs() * 0.001f).ToString("F1"));
11         TimeSpan allTime = new TimeSpan(0, 0, _all);
12 
13         int _current = (int)float.Parse((_mediaPlayer.m_Control.GetCurrentTimeMs() * 0.001f).ToString("F1"));
14         TimeSpan currentTime = new TimeSpan(0, 0, _current);
15 
16         time.text = currentTime.Hours + ":" + currentTime.Minutes + ":" + currentTime.Seconds + "/" + allTime.Hours + ":" + allTime.Minutes + ":" + allTime.Seconds;
17         if (_mediaPlayer && _mediaPlayer.Info != null && _mediaPlayer.Info.GetDurationMs() > 0f)
18         {
19             float time = _mediaPlayer.Control.GetCurrentTimeMs();
20             float d = time / _mediaPlayer.Info.GetDurationMs();
21             _setVideoSeekSliderValue = d;
22             _videoSeekSlider.value = d;
23         }
24     }
25 
26     public void OnVideoSeekSlider()
27     {
28         if (_mediaPlayer && _videoSeekSlider && _videoSeekSlider.value != _setVideoSeekSliderValue)
29         {
30             _mediaPlayer.Control.Seek(_videoSeekSlider.value * _mediaPlayer.Info.GetDurationMs());
31         }
32     }
33 
34 
35     public void OnVideoSliderBegin()
36     {
37         if (_mediaPlayer)
38         {
39             _wasPlayingOnScrub = _mediaPlayer.Control.IsPlaying();
40             if (_wasPlayingOnScrub)
41             {
42                 _mediaPlayer.Control.Pause();
43               
44             }
45             OnVideoSeekSlider();
46         }
47     }
48 
49     public void OnVideoSliderEnd()
50     {
51         if (_mediaPlayer && _wasPlayingOnScrub)
52         {
53             _mediaPlayer.Control.Play();
54             _wasPlayingOnScrub = false;
55 
56         }
57     }

 

<span role="heading" aria-level="2">AVProVideo视频进度条

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/155668.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • redission jedis_redis could not get a resource

    redission jedis_redis could not get a resourceJedis操作Redis

    2025年10月15日
    2
  • ARM的中断向量表,及DCD伪指令

    ARM的中断向量表,及DCD伪指令当中断或异常发生的时候,CPU自动将PC指向一个特定的地址,这个地址就是中断向量表。在32位ARM系统中,一般都是在中断向量表中放置一条分支指令或PC寄存器加载指令,实现程序跳转到中断服务例程的功能。例如: IRQEntryBHandleIRQ;跳转范围较小 LDRPC,=HandleFIQ   ;LDR伪指令等效生成1条存储读取指令和1条32位常数定义

    2025年6月30日
    4
  • 常见应用端口整理

    常见应用端口整理

    2021年9月2日
    45
  • 关于语法运用的一些其他问题

    关于语法运用的一些其他问题

    2022年3月11日
    141
  • 基于QT播放器的实现(一)Rgb、YUV格式(附带代码)

    基于QT播放器的实现(一)Rgb、YUV格式(附带代码)基于QT播放器的实现(一)Rgb、YUV格式色度空间转换YUV转RGB的公式对本地RGB32视频图像的播放色度空间转换YUV颜色模型其实常用于视频传输和图像压缩。由于人类的眼睛,对亮度的敏感度远超过对色彩的敏感度,所以视频传输过程中,为了减小带宽,通常将色彩分量UV的比例减小,以达到降低带宽的目的。这就出现了YUV4:4:4、YUV4:2:2、YUV4:1:1等格式。RGB32使用32位来…

    2022年6月1日
    42
  • MODBUS协议规范-中文版(免费下载)

    MODBUS协议规范-中文版(免费下载)1.Modbus数据帧构成:地址域+功能码+数据+差错校验下面逐一解释各部分的具体含义:(1)地址域:即主站要访问的从站地址,其范围0~247(2)功能码:即主站想要从站执行什么动作。从大的方面看分为读(主站读取从站数据),写(主站向从站读取数据)(3)数据:如果主站的请求是读数据,那么该“数据”要包含的信息有:从哪里开始读数据+读多少数据。如果主站的请求是向从站写…

    2022年7月15日
    21

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号