none
pROB RRS feed

  • Debate general

  • Estoy haciendo un software, un reproductor mp3 en Visual Studio 2008
    Tengo prácticamente todo terminado, a excepción de, precisamente, lo que me llevó a hacer este hilo: La reproducción automática de una canción.

    Tengo 1 listbox, en donde están todas mis canciones , al clic sobre la canción, comienza a reproducirse, todo normal. Pero cuando termina la canción, se detiene, y no continua.
    No hallo como hacer, que luego de que termine esa canción, pase a la siguiente automáticamente...
    alguien que sepa del tema y que me oriente??

    Public Class Form1

        Public tiempo As Date ' para el tiempo transcurrido
        Private posicion As Integer

        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            OpenFileDialog1.Title = "Seleccione uno o varios archivos..."
            Me.OpenFileDialog1.InitialDirectory = "C:\MUSICA"
            Me.OpenFileDialog1.Filter = "Formato de música (*.mp3)|*.mp3|Formato de Video (*.mpg)|*.mpg"
            OpenFileDialog1.RestoreDirectory = True
            OpenFileDialog1.ShowDialog()

            Dim archivos As IEnumerator
            archivos = OpenFileDialog1.FileNames.GetEnumerator

            ListBox1.Items.Clear()

            While archivos.MoveNext
                ListBox1.Items.Add(archivos.Current)
            End While
            ListBox1.TopIndex = 0
            Label1.Text = "Audio files playback = " + ListBox1.Items.Count.ToString
            ListBox1.GetSelected(0)
        End Sub

        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            AxWindowsMediaPlayer1.URL = ListBox1.Text
            AxWindowsMediaPlayer1.Ctlcontrols.play()
        End Sub

        Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
            AxWindowsMediaPlayer1.Ctlcontrols.stop()
        End Sub

        Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
            End
        End Sub


        Private Sub AxWindowsMediaPlayer1_PlayStateChange(ByVal sender As Object, ByVal e As AxWMPLib._WMPOCXEvents_PlayStateChangeEvent) Handles AxWindowsMediaPlayer1.PlayStateChange
            'dependiendo del estado del reproductor
             Select e.newState


                Case WMPLib.WMPPlayState.wmppsPlaying
                    ' si reproduciendo
                    Timer1.Start()
                    Label2.Text = AxWindowsMediaPlayer1.currentMedia.getItemInfo("title") _
                    & Chr(13) & AxWindowsMediaPlayer1.currentMedia.getItemInfo("author")

                    tiempo = Now
                    Label4.Text = AxWindowsMediaPlayer1.currentMedia.durationString


             
                Case WMPLib.WMPPlayState.wmppsStopped
                    Label2.Text = "without playing..."
                    Label3.Text = ""
                    Label4.Text = ""
                    Timer1.Stop()


            End Select



        End Sub

        Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

            Dim Minutos, Segundos As Integer
            ' Variable Segundos = diferencia en segundos entre una hora y la hora actual
            Segundos = DateDiff(DateInterval.Second, Date.Parse(tiempo), Now)
            Minutos = Segundos \ 60
            'Para que no supere 59
            Segundos = Segundos - (Minutos * 60)
            'Presentación formateada del tiempo transcurrido
            Label3.Text = Format(Minutos, "00") & ":" & Format(Segundos, "00")

        End Sub

        Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
            Call Ejecutarlista()
           

        End Sub

        Private Sub ListBox1_MouseDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListBox1.MouseDoubleClick
            AxWindowsMediaPlayer1.URL = ListBox1.Text
            AxWindowsMediaPlayer1.Ctlcontrols.play()
        End Sub

        Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
            If ListBox1.SelectedItems.Count > 0 Then
                Button2.Enabled = True
            End If
        End Sub

        Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click

            posicion = ListBox1.SelectedIndex

            If ListBox1.GetSelected(posicion) = True Then
                posicion = posicion - 1

                If posicion >= 0 Then
                    ListBox1.SetSelected(posicion, True)
                    AxWindowsMediaPlayer1.URL = ListBox1.Items(posicion)
                    AxWindowsMediaPlayer1.Ctlcontrols.play()
                Else
                    Button4.Enabled = True
                    Button5.Enabled = False
                End If

            End If
        End Sub

        Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            Timer1.Stop()
        End Sub

        Private Sub Ejecutarlista()
            posicion = ListBox1.SelectedIndex

            If ListBox1.GetSelected(posicion) = True Then
                posicion = posicion + 1

                If posicion <= ListBox1.Items.Count Then
                    ListBox1.SetSelected(posicion, True)
                    AxWindowsMediaPlayer1.URL = ListBox1.Items(posicion)
                    AxWindowsMediaPlayer1.Ctlcontrols.play()
                Else


                    Button4.Enabled = False
                    Button5.Enabled = True
                End If

            End If

        End Sub


    End Class

    lunes, 28 de marzo de 2016 18:37