private void tmPosition_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { Dispatcher.UIThread.InvokeAsync((Action)(() => { var position = _player.Position_Get(); var duration = _player.Duration(); tbTimeline.Maximum = (int)duration.TotalSeconds; lbTimeline.Text = position.ToString("hh\\:mm\\:ss", CultureInfo.InvariantCulture) + " / " + duration.ToString("hh\\:mm\\:ss", CultureInfo.InvariantCulture); if (tbTimeline.Maximum >= position.TotalSeconds) { _tbTimelineApplyingValue = false; tbTimeline.Value = position.TotalSeconds; _tbTimelineApplyingValue = true; } })); }
private void tmPosition_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { if (isSeeking) { return; } var pos = _player.Position_Get(); var progress = (int)pos.TotalMilliseconds; if (progress > sbTimeline.Max) { sbTimeline.Progress = sbTimeline.Max; } else { sbTimeline.Progress = progress; } try { RunOnUiThread(() => { if (_player == null) { return; } // This is where the received data is passed lbPosition.Text = $"{pos.ToString(@"hh\:mm\:ss", CultureInfo.InvariantCulture)}/{_player.Duration().ToString(@"hh\:mm\:ss", CultureInfo.InvariantCulture)}"; }); } catch (Exception exception) { System.Diagnostics.Debug.WriteLine(exception); } }