public MediaPlayer _mediaPlayer; public Slider _videoSeekSlider; public Text time; float _setVideoSeekSliderValue; private bool _wasPlayingOnScrub; void Update() { int _all = (int)float.Parse((_mediaPlayer.m_Info.GetDurationMs() * 0.001f).ToString("F1")); TimeSpan allTime = new TimeSpan(0, 0, _all); int _current = (int)float.Parse((_mediaPlayer.m_Control.GetCurrentTimeMs() * 0.001f).ToString("F1")); TimeSpan currentTime = new TimeSpan(0, 0, _current); time.text = currentTime.Hours + ":" + currentTime.Minutes + ":" + currentTime.Seconds + "/" + allTime.Hours + ":" + allTime.Minutes + ":" + allTime.Seconds; if (_mediaPlayer && _mediaPlayer.Info != null && _mediaPlayer.Info.GetDurationMs() > 0f) { float time = _mediaPlayer.Control.GetCurrentTimeMs(); float d = time / _mediaPlayer.Info.GetDurationMs(); _setVideoSeekSliderValue = d; _videoSeekSlider.value = d; } } public void OnVideoSeekSlider() { if (_mediaPlayer && _videoSeekSlider && _videoSeekSlider.value != _setVideoSeekSliderValue) { _mediaPlayer.Control.Seek(_videoSeekSlider.value * _mediaPlayer.Info.GetDurationMs()); } } public void OnVideoSliderBegin() { if (_mediaPlayer) { _wasPlayingOnScrub = _mediaPlayer.Control.IsPlaying(); if (_wasPlayingOnScrub) { _mediaPlayer.Control.Pause(); } OnVideoSeekSlider(); } } public void OnVideoSliderEnd() { if (_mediaPlayer && _wasPlayingOnScrub) { _mediaPlayer.Control.Play(); _wasPlayingOnScrub = false; } }