Hallo ich bin momentan an einem Mediaplayer mit Directx am programmieren.
Er hat bereits alle Funktionen die wichtig sind für einen Player,
außer das ich bei der Pause-Funktion das Problem habe,
die Musik-Datei an der pausierenden Stelle wieder weiterspielen zu lassen,
und das vorspulen mit einer TrackBar ( zu dieser ich noch absolut keine Ahnung habe ).
Hierzu habe ich mir sobald der Playbutton gedrückt wird die Länge der in dem Fall MP3-Datei in eine globale Variable gespeichert.
Sobald nun der Pausebutton gedrückt wird merke ich mir den Punkt an dem die Datei pausiert und schreibe dies ebenfalls in eine globale Variable.
Auch wird ein globaler boolean auf True gesetzt.
Hier einmal Pause
Und hier Play
Wäre stark wenn es einige Ideen zum Punkt Pausieren und Weiterspielen sowie zum Vorspulen geben würde.
Gruß TheB
VB-Tag eingefügt
-Artentus
Er hat bereits alle Funktionen die wichtig sind für einen Player,
außer das ich bei der Pause-Funktion das Problem habe,
die Musik-Datei an der pausierenden Stelle wieder weiterspielen zu lassen,
und das vorspulen mit einer TrackBar ( zu dieser ich noch absolut keine Ahnung habe ).
Hierzu habe ich mir sobald der Playbutton gedrückt wird die Länge der in dem Fall MP3-Datei in eine globale Variable gespeichert.
Sobald nun der Pausebutton gedrückt wird merke ich mir den Punkt an dem die Datei pausiert und schreibe dies ebenfalls in eine globale Variable.
Auch wird ein globaler boolean auf True gesetzt.
Hier einmal Pause
VB.NET-Quellcode
- Private Sub cmdPause_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdPause.Click
- gsAktuellePos = TimeSpan.FromSeconds(m_Audio.CurrentPosition).Minutes.ToString("00") & ":" & CStr(TimeSpan.FromSeconds(m_Audio.CurrentPosition).Seconds)
- m_Audio.Pause()
- cmdPlay.Text = ">"
- gbEsWarPause = True
- End Sub
Und hier Play
VB.NET-Quellcode
- Public Function Play()
- Dim fi As System.IO.FileInfo
- Dim finfo As New IO.DirectoryInfo(gsSuchePfad)
- Dim sDateiname As String
- If gbEsWarPause = False Then
- For Each fi In finfo.GetFiles
- sDateiname = fi.Name
- If Right(sDateiname, 4) = ".mp3" And sDateiname = mFunc.GetSelectedFile Then
- If Form1.cmdPlay.Text = ">" Then
- ' Start playing.
- Form1.cmdPlay.Text = "[]"
- m_Audio = New DX.Audio(gsSuchePfad & "\" & gsAusgwFile)
- gsLaenge = TimeSpan.FromSeconds(m_Audio.Duration).Minutes.ToString("00") & ":" & CStr(TimeSpan.FromSeconds(m_Audio.Duration).Seconds)
- Form1.lblLaenge.Text = gsLaenge
- m_Audio.Play()
- m_StartTime = Now
- Form1.Timer1.Enabled = True
- Else
- ' Stop playing.
- Form1.cmdPlay.Text = ">"
- m_Audio.Stop()
- m_Audio.Dispose()
- m_Audio = Nothing
- Form1.Timer1.Enabled = False
- Form1.lblTest.Text = ""
- End If
- End If
- Next
- Else
- For Each fi In finfo.GetFiles
- sDateiname = fi.Name
- If Right(sDateiname, 4) = ".mp3" And sDateiname = mFunc.GetSelectedFile Then
- If Form1.cmdPlay.Text = ">" Then
- ' Start playing.
- Form1.cmdPlay.Text = "[]"
- m_Audio = New DX.Audio(gsSuchePfad & "\" & gsAusgwFile)
- gsLaenge = TimeSpan.FromSeconds(m_Audio.Duration).Minutes.ToString("00") & ":" & CStr(TimeSpan.FromSeconds(m_Audio.Duration).Seconds)
- Form1.lblLaenge.Text = gsLaenge
- m_Audio.Play()
- m_StartTime = Now
- Form1.Timer1.Enabled = True
- End If
- End If
- Next
- End If
- End Function
Wäre stark wenn es einige Ideen zum Punkt Pausieren und Weiterspielen sowie zum Vorspulen geben würde.
Gruß TheB
VB-Tag eingefügt
-Artentus
Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „TheB“ ()