Quantcast
Channel: VBForums - Visual Basic .NET
Viewing all articles
Browse latest Browse all 27513

Media Player Code Help.

$
0
0
I was on youtube looking at some code to make a custom media player, I tried to contact a few people on this but no replies back so I figured I would try here. What I need to do is figure out 2 things,

1.) Need help in having the display of songs load up in Form1_Load as an array displaying the songs in a list as in 1.) song1, 2.) song2, 3.) song3, etc etc. So the songs are numbered 1-100 or whatever number of songs there is.
2.) I need the music to be displayed on Form1_Load as safefilenames and not the full URL of the songs.

Right now the playlist is saved as a .txt file with the URL of the songs in the .txt, Then its loaded back up from the same .txt file every time the program is loaded after playlist is saved. I was thinking along the line of having 2 listbox's one with the full URL hidden and then the other one with the filename only, But no way of knowing how to do this when loading using the StreamReader. Any ideas? Code below.

Code:

Imports System.IO
Imports WMPLib
Public Class Form1

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        ComboBox1.Text = My.Settings.Volume
        If My.Computer.FileSystem.FileExists(Application.StartupPath & "\playlist1.txt") Then
            Dim reader As New IO.StreamReader(Application.StartupPath & "\playlist1.txt")
            Try
                Do
                    playlist1.Items.Add(reader.ReadLine)
                Loop
            Catch ex As Exception
                reader.Close()
                playlist1.SelectedIndex = 0
                If My.Settings.AutoPlay = True Then
                    AxWindowsMediaPlayer1.URL = playlist1.SelectedItem
                    Timer1.Start()
                    CheckBox2.Checked = True
                End If
                If My.Settings.Repeat = True Then
                    CheckBox1.Checked = True
                End If
            End Try
        End If
    End Sub

    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
        AxWindowsMediaPlayer1.settings.volume = ComboBox1.SelectedItem
        My.Settings.Volume = ComboBox1.SelectedItem
        My.Settings.Save()
        Try
            Dim itemno As Integer
            itemno = playlist1.SelectedIndex
            If My.Settings.RepeatOne = True Then
                If Me.AxWindowsMediaPlayer1.playState = WMPLib.WMPPlayState.wmppsStopped Then
                    AxWindowsMediaPlayer1.URL = playlist1.SelectedItem
                    Timer1.Start()
                Else
                    Timer1.Start()
                End If
            Else
                If My.Settings.Shuffle = True Then
                    If Me.AxWindowsMediaPlayer1.playState = WMPLib.WMPPlayState.wmppsStopped Then
                        Dim total As Integer = playlist1.Items.Count
                        Dim random As Integer = Math.Floor(total * Rnd())
                        Me.playlist1.SelectedIndex = random
                        AxWindowsMediaPlayer1.URL = playlist1.SelectedItem
                        Timer1.Start()
                    Else
                        Timer1.Start()
                    End If
                Else
                    If Me.AxWindowsMediaPlayer1.playState = WMPLib.WMPPlayState.wmppsStopped Then
                        Me.playlist1.SelectedIndex = itemno + 1
                        AxWindowsMediaPlayer1.URL = playlist1.SelectedItem
                        Timer1.Start()
                    Else
                        Timer1.Start()
                    End If
                End If
            End If
        Catch ex As Exception
            If My.Settings.Repeat = True Then
                playlist1.SelectedIndex = "0"
                AxWindowsMediaPlayer1.URL = playlist1.SelectedItem
                Timer1.Start()
                CheckBox1.Checked = True
            Else
                AxWindowsMediaPlayer1.URL = ""
                playlist1.SelectedIndex = "0"
            End If
        End Try
    End Sub

    Private Sub Addtoplaylist1_Click(sender As Object, e As EventArgs) Handles Addtoplaylist1.Click
        OpenFileDialog1.Multiselect = True
        OpenFileDialog1.ShowDialog()
        For Each s As String In OpenFileDialog1.FileNames
            playlist1.Items.Add(s)
        Next
        Me.playlist1.SelectedIndex = Me.playlist1.SelectedIndex + 1
    End Sub

    Private Sub Deletefromplaylist1_Click(sender As Object, e As EventArgs) Handles Deletefromplaylist1.Click
        Try
            playlist1.Items.Remove(playlist1.SelectedItem)
            playlist1.SelectedIndex = "0"
        Catch ex As Exception
            playlist1.Items.Remove(playlist1.SelectedItem)
            playlist1.SelectedIndex = "-1"
        End Try
    End Sub

    Private Sub square_Click(sender As Object, e As EventArgs) Handles square.Click
        Timer1.Stop()
        AxWindowsMediaPlayer1.URL = ""
        playlist1.SelectedIndex = "0"
    End Sub

    Private Sub lasttrack_Click(sender As Object, e As EventArgs) Handles lasttrack.Click
        If My.Settings.RepeatOne = True Then
            If Me.AxWindowsMediaPlayer1.playState = WMPLib.WMPPlayState.wmppsStopped Then
                AxWindowsMediaPlayer1.URL = playlist1.SelectedItem
                Timer1.Start()
            Else
                Timer1.Start()
            End If
        Else
            If My.Settings.Shuffle = True Then
                Dim total As Integer = playlist1.Items.Count
                Dim random As Integer = Math.Floor(total * Rnd())
                Me.playlist1.SelectedIndex = random
                AxWindowsMediaPlayer1.URL = playlist1.SelectedItem
                Timer1.Start()
            Else
                Timer1.Stop()
                AxWindowsMediaPlayer1.URL = ""
                Me.playlist1.SelectedIndex = playlist1.SelectedIndex - 1
                AxWindowsMediaPlayer1.URL = playlist1.SelectedItem
                Timer1.Start()
            End If
        End If
    End Sub

    Private Sub nexttrack_Click(sender As Object, e As EventArgs) Handles nexttrack.Click
        If My.Settings.RepeatOne = True Then
            If Me.AxWindowsMediaPlayer1.playState = WMPLib.WMPPlayState.wmppsStopped Then
                AxWindowsMediaPlayer1.URL = playlist1.SelectedItem
                Timer1.Start()
            Else
                Timer1.Start()
            End If
        Else
            If My.Settings.Shuffle = True Then
                Dim total As Integer = playlist1.Items.Count
                Dim random As Integer = Math.Floor(total * Rnd())
                Me.playlist1.SelectedIndex = random
                AxWindowsMediaPlayer1.URL = playlist1.SelectedItem
                Timer1.Start()
            Else
                Timer1.Stop()
                AxWindowsMediaPlayer1.URL = ""
                Me.playlist1.SelectedIndex = playlist1.SelectedIndex + 1
                AxWindowsMediaPlayer1.URL = playlist1.SelectedItem
                Timer1.Start()
            End If
        End If
    End Sub

    Private Sub saveplaylist1_Click(sender As Object, e As EventArgs) Handles saveplaylist1.Click
        Dim count As Integer = -1
        Dim writer As New IO.StreamWriter(Application.StartupPath & "\playlist1.txt")
        Dim current As Integer = playlist1.SelectedIndex
        Try
            Do Until count = playlist1.Items.Count
                playlist1.SelectedIndex = count + 1
                writer.WriteLine(playlist1.SelectedItem)
                count = count + 1
            Loop
        Catch ex As Exception
            writer.Close()
            playlist1.SelectedIndex = current
        End Try
    End Sub

    Private Sub CheckBox2_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox2.CheckedChanged
        If CheckBox2.Checked = True Then
            My.Settings.AutoPlay = True
        Else
            My.Settings.AutoPlay = False
        End If
    End Sub

    Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged
        If CheckBox1.Checked = True Then
            My.Settings.Repeat = True
        Else
            My.Settings.Repeat = False
            If CheckBox3.Checked = True Then
                CheckBox3.Checked = False
                My.Settings.RepeatOne = False
            End If
        End If
    End Sub

    Private Sub CheckBox3_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox3.CheckedChanged
        If CheckBox1.Checked = True Then
            If CheckBox3.Checked = True Then
                My.Settings.RepeatOne = True
            Else
                My.Settings.RepeatOne = False
            End If
        Else
            CheckBox3.Checked = False
            My.Settings.RepeatOne = False
        End If
    End Sub

    Private Sub CheckBox4_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox4.CheckedChanged
        If CheckBox4.Checked = True Then
            My.Settings.Shuffle = True
        Else
            My.Settings.Shuffle = False
        End If
    End Sub

    Private Sub playlist1_DoubleClick(sender As Object, e As EventArgs) Handles playlist1.DoubleClick
        Try
            AxWindowsMediaPlayer1.URL = playlist1.SelectedItem
        Catch ex As Exception
            AxWindowsMediaPlayer1.URL = playlist1.SelectedItem
        End Try
    End Sub

    Private Sub play_Click(sender As Object, e As EventArgs) Handles play.Click
        If My.Settings.Shuffle = True Then
            Dim total As Integer = playlist1.Items.Count
            Dim random As Integer = Math.Floor(total * Rnd())
            Me.playlist1.SelectedIndex = random
            AxWindowsMediaPlayer1.URL = playlist1.SelectedItem
            Timer1.Start()
        Else
            AxWindowsMediaPlayer1.URL = playlist1.SelectedItem
            Timer1.Start()
        End If
    End Sub

    Private Sub pause_Click(sender As Object, e As EventArgs) Handles pause.Click

        If AxWindowsMediaPlayer1.playState = WMPLib.WMPPlayState.wmppsUndefined Or AxWindowsMediaPlayer1.playState = WMPLib.WMPPlayState.wmppsStopped Then
            AxWindowsMediaPlayer1.Ctlcontrols.play()
            pause.Image = My.Resources.pause
        ElseIf AxWindowsMediaPlayer1.playState = WMPLib.WMPPlayState.wmppsPaused Then
            AxWindowsMediaPlayer1.Ctlcontrols.play()
            pause.Image = My.Resources.pause
        Else
            AxWindowsMediaPlayer1.Ctlcontrols.pause()
            pause.Image = My.Resources.playpause
        End If
    End Sub

End Class


Viewing all articles
Browse latest Browse all 27513

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>