Imports WMPLib
Imports [Link]
Public Class Form1
Private currentIndex As Integer = -1
Private repeatEnabled As Boolean = False
Private Sub btnBrowse_Click(sender As Object, e As EventArgs) Handles [Link]
[Link] = "Select Media File"
[Link] = "Media Files|*.mp3;*.mp4;*.wav;*.wmv;*.avi"
[Link] = [Link]([Link])
If [Link]() = [Link] Then
[Link] = [Link]
[Link] = [Link]([Link])
End If
End Sub
Private Sub btnPlay_Click(sender As Object, e As EventArgs) Handles [Link]
If [Link] >= 0 Then
currentIndex = [Link]
PlayFromPlaylist(currentIndex)
ElseIf [Link] <> "" Then
[Link]()
End If
End Sub
Private Sub btnPause_Click(sender As Object, e As EventArgs) Handles [Link]
[Link]()
End Sub
Private Sub btnStop_Click(sender As Object, e As EventArgs) Handles [Link]
[Link]()
End Sub
Private Sub btnNext_Click(sender As Object, e As EventArgs) Handles [Link]
If [Link] = 0 Then Exit Sub
currentIndex += 1
If currentIndex >= [Link] Then currentIndex = 0
PlayFromPlaylist(currentIndex)
End Sub
Private Sub btnPrevious_Click(sender As Object, e As EventArgs) Handles [Link]
If [Link] = 0 Then Exit Sub
currentIndex -= 1
If currentIndex < 0 Then currentIndex = [Link] - 1
PlayFromPlaylist(currentIndex)
End Sub
Private Sub PlayFromPlaylist(index As Integer)
If [Link] = 0 Then Exit Sub
If index < 0 OrElse index >= [Link] Then Exit Sub
Dim filePath As String = [Link](index).ToString()
If Not [Link](filePath) Then
[Link]("File not found: " & filePath)
Exit Sub
End If
currentIndex = index
[Link] = filePath
[Link] = [Link](filePath)
[Link]()
End Sub
Private Sub btnAddToPlaylist_Click(sender As Object, e As EventArgs) Handles [Link]
If [Link]() = [Link] Then
[Link]([Link])
End If
End Sub
Private Sub btnRemoveFromPlaylist_Click(sender As Object, e As EventArgs) Handles
[Link]
If [Link] >= 0 Then
[Link]([Link])
End If
End Sub
Private Sub btnClearPlaylist_Click(sender As Object, e As EventArgs) Handles [Link]
[Link]()
End Sub
Private Sub lstPlaylist_SelectedIndexChanged(sender As Object, e As EventArgs) Handles
[Link]
If [Link] IsNot Nothing Then
[Link] = [Link]()
[Link] = [Link]([Link]())
End If
End Sub
Private Sub btnShuffle_Click(sender As Object, e As EventArgs) Handles [Link]
Dim rnd As New Random()
Dim items = [Link](Of String).OrderBy(Function(x) [Link]()).ToList()
[Link]()
For Each item In items
[Link](item)
Next
End Sub
Private Sub btnRepeat_Click(sender As Object, e As EventArgs) Handles [Link]
repeatEnabled = Not repeatEnabled
[Link] = If(repeatEnabled, [Link], [Link])
End Sub
Private Sub AxWindowsMediaPlayer1_PlayStateChange(sender As Object, e As
AxWMPLib._WMPOCXEvents_PlayStateChangeEvent) Handles
[Link]
If repeatEnabled AndAlso [Link] = [Link] Then
[Link]()
End If
End Sub
Private Sub progressBar_MouseDown(sender As Object, e As MouseEventArgs) Handles
[Link]
If [Link] IsNot Nothing Then
Dim newPosition As Double = (e.X / [Link]) *
[Link]
[Link] = newPosition
End If
End Sub
End Class