zl程序教程

您现在的位置是:首页 >  其它

当前栏目

AVProVideo视频进度条

视频 进度条
2023-06-13 09:12:07 时间

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

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     }

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