@@ -18,7 +18,14 @@ Namespace DownloadObjects
18
18
Dim v# = DivideWithZeroChecking(MediaPlayer.Time, MediaPlayer.Length) * 10
19
19
If v > 10 Then TR_POSITION.Value = 10 Else TR_POSITION.Value = v
20
20
End Sub
21
+ Private ReadOnly TimeChangeLabel As Action = Sub ()
22
+ If MediaPlayer.Time >= 0 Then
23
+ Dim t As TimeSpan = TimeSpan.FromMilliseconds(MediaPlayer.Time)
24
+ LBL_TIME.Text = $"{VideoLength}/{t}"
25
+ End If
26
+ End Sub
21
27
Private ReadOnly MyImage As ImageRenderer
28
+ Friend ReadOnly VideoLength As TimeSpan
22
29
Public Sub New ()
23
30
InitializeComponent()
24
31
End Sub
@@ -31,6 +38,7 @@ Namespace DownloadObjects
31
38
MediaPlayer = New [Shared].MediaPlayer( New [Shared].Media( New [Shared].LibVLC(enableDebugLogs:=debugLogs), New Uri(File.ToString)))
32
39
MyVideo.MediaPlayer = MediaPlayer
33
40
TR_VOLUME.Value = MediaPlayer.Volume / 10
41
+ If MediaPlayer.Length >= 0 Then VideoLength = TimeSpan.FromMilliseconds(MediaPlayer.Length)
34
42
If Settings.UseM3U8 Then
35
43
Dim f As SFile = $"{Settings.CachePath.PathWithSeparator}FeedSnapshots\{File.GetHashCode}.png"
36
44
If Not f.Exists Then f = FFMPEG.TakeSnapshot(File, f, Settings.FfmpegFile, TimeSpan.FromSeconds( 1 ))
@@ -58,6 +66,7 @@ Namespace DownloadObjects
58
66
End Sub
59
67
Private Sub MediaPlayer_TimeChanged(sender As Object , e As [Shared].MediaPlayerTimeChangedEventArgs) Handles MediaPlayer.TimeChanged
60
68
If TR_POSITION.InvokeRequired Then TR_POSITION.Invoke(TimeChange) Else TimeChange.Invoke
69
+ If LBL_TIME.InvokeRequired Then LBL_TIME.Invoke(TimeChangeLabel) Else TimeChangeLabel.Invoke
61
70
End Sub
62
71
Private Sub TR_POSITION_MouseUp(sender As Object , e As MouseEventArgs) Handles TR_POSITION.MouseUp
63
72
Try : MediaPlayer.Time = (MediaPlayer.Length / 100 ) * (TR_POSITION.Value * 10 ) : Catch : End Try
0 commit comments