none
Reproductor Multimedia RRS feed

  • Pregunta

  •  Buenas mi problema es el siguiente: 

    Estoy desarrollando un reproductor multimedia de música y vídeo en visual basic como proyecto en mi universidad, todo me funciona de maravilla pero desearía guardar las listas de reproducción, anteriormente había utilizado un listbox el cual me permitió correctamente guardar y reproducir estas listas con la extensión .mpl4 pero como no supe como esconder el path del listbox decidí cambiarlo por un listview ... pude cambiar los nombres de los controles excepto el de la ultima linea que me genera error :c .. si alguien pudiera ayudarme, corregirlo o orientarme en cualquier cosa me serviría mucho (: 

    Código Anterior:  

    Private Sub ListaDeReproduccionToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ListaDeReproduccionToolStripMenuItem.Click
            On Error Resume Next
            ListBox1.Items.Clear()
            OpenFileDialog1.Filter = "Lista de Reproducción (*.mpl4)|*.mpl4"
            OpenFileDialog1.ShowDialog()
            Dim rutaFichero As String
            rutaFichero = OpenFileDialog1.FileName
            If IO.File.Exists(rutaFichero) = True Then
                Dim fichero As New IO.StreamReader(rutaFichero)
                While (fichero.Peek() > -1)
                    ListBox1.Items.Add(fichero.ReadLine)
                End While
                fichero.Close()
            End If
            Me.ListBox1.SelectedIndex = Me.ListBox1.SelectedIndex + 1
        End Sub 

    Codigo que estoy utilizando ahora y tengo problemas 

    Private Sub btnCrear_Click(sender As Object, e As EventArgs) Handles btnCrear.Click
            On Error Resume Next
            ListView1.Items.Clear()
            OpenFileDialog1.Filter = "Lista de Reproducción (*.mpl4)|*.mpl4"
            OpenFileDialog1.ShowDialog()
            Dim rutaFichero As String
            rutaFichero = OpenFileDialog1.FileName
            If IO.File.Exists(rutaFichero) = True Then
                Dim fichero As New IO.StreamReader(rutaFichero)
                While (fichero.Peek() > -1)
                    ListView1.Items.Add(fichero.ReadLine)
                End While
                fichero.Close()
            End If
            Me.ListView1.SelectedItems = Me.ListView1.SelectedItems + 1
        End Sub


    miércoles, 8 de junio de 2016 8:35

Respuestas

  • Hola Lissette Amalia

    Gracias por responder, te sugiero realizar los siguientes cambios, me tomé la libertad de reproducir tu solución y encontré errores de sintaxis. Acá te posteo el resultado pruébalo, estoy atento a tus comentarios.

    Public Class Form1
        Private Sub ListaDeReproduccionToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ListaDeReproduccionToolStripMenuItem.Click
            On Error Resume Next
            ListBox1.Items.Clear()
            OpenFileDialog1.Filter = "Lista de Reproducción (*.mpl4)|*.mpl4"
            OpenFileDialog1.ShowDialog()
            Dim rutaFichero As String
            rutaFichero = OpenFileDialog1.FileName
            If IO.File.Exists(rutaFichero) = True Then
                Dim fichero As New IO.StreamReader(rutaFichero)
                While (fichero.Peek() > -1)
                    ListBox1.Items.Add(fichero.ReadLine)
                End While
                fichero.Close()
            End If
            Me.ListBox1.SelectedIndex = Me.ListBox1.SelectedIndex + 1
        End Sub
    
        Private Sub GuardarListaDeReproduccionToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles GuardarListaDeReproduccionToolStripMenuItem.Click
            On Error Resume Next
            Dim rutaFichero As String
            Dim i As Integer
            SaveFile.Filter = "Lista de Reproducción (*.mpl4)|*.mpl4"
            SaveFile.ShowDialog()
            rutaFichero = SaveFile.FileName
            Dim fichero As New IO.StreamWriter(rutaFichero)
            For i = 0 To ListBox1.Items.Count - 1
                fichero.WriteLine(ListBox1.Items(i))
            Next
            fichero.Close()
        End Sub
    
        Private Sub btnCargarLista_Click(sender As Object, e As EventArgs) Handles btnCargarLista.Click
            On Error Resume Next
            ListView1.Items.Clear()
            OpenFileDialog5.Filter = "Lista de Reproducción (*.mpl4)|*.mpl4"
            OpenFileDialog5.ShowDialog()
            Dim rutaFichero As String
            rutaFichero = OpenFileDialog5.FileName
            If IO.File.Exists(rutaFichero) = True Then
                Dim fichero As New IO.StreamReader(rutaFichero)
                While (fichero.Peek() > -1)
                    ListView1.Items.Add(fichero.ReadLine)
                End While
                fichero.Close()
            End If
        End Sub
    
        Private Sub btnGuardarLista_Click(sender As Object, e As EventArgs) Handles btnGuardarLista.Click
            On Error Resume Next
            Dim rutaFichero As String
            Dim i As Integer
            SaveFileDialog5.Filter = "Lista de Reproducción (*.mpl4)|*.mpl4"
            SaveFileDialog5.ShowDialog()
            rutaFichero = SaveFileDialog5.FileName
            Dim fichero As New IO.StreamWriter(rutaFichero)
            For i = 0 To ListView1.Items.Count - 1
                fichero.WriteLine(ListView1.Items(i))
            Next
            fichero.Close()
        End Sub
    
    End Class
    

    Nota los cambios en IO.Streamreader   -   IO.Streamwriter  


    Saludos
    José
    __________________________________________________________________________________________
    Por favor, recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, hace que sea más fácil para los otros visitantes encontrar la solución más tarde. Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft. Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    viernes, 10 de junio de 2016 16:42
    Moderador

Todas las respuestas

  • Hola Lissette Amalia

    Gracias por consultar en los foros. No mencionas el mensaje de error, ¿podrías subir alguna captura de pantalla o el mensaje de error textual para tener una referencia más precisa? Estoy atento a tu respuesta.

    Saludos
    José
    __________________________________________________________________________________________
    Por favor, recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, hace que sea más fácil para los otros visitantes encontrar la solución más tarde. Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft. Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.



    jueves, 9 de junio de 2016 14:50
    Moderador
  •  Hola gracias por responder (: 

    Mas que nada lo que me interesa es guardar la lista de reproduccion y despues volver a cargarla en un listview 

    Realize el mismo procedimiento con un listbox y todo funciono correctamente, utilize el siguiente codigo: 

     Private Sub ListaDeReproduccionToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ListaDeReproduccionToolStripMenuItem.Click
            On Error Resume Next
            ListBox1.Items.Clear()
            OpenFileDialog1.Filter = "Lista de Reproducción (*.mpl4)|*.mpl4"
            OpenFileDialog1.ShowDialog()
            Dim rutaFichero As String
            rutaFichero = OpenFileDialog1.FileName
            If IO.File.Exists(rutaFichero) = True Then
                Dim fichero As New IO.StreamReader(rutaFichero)
                While (fichero.Peek() > -1)
                    ListBox1.Items.Add(fichero.ReadLine)
                End While
                fichero.Close()
            End If
            Me.ListBox1.SelectedIndex = Me.ListBox1.SelectedIndex + 1
        End Sub

        Private Sub GuardarListaDeReproduccionToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles GuardarListaDeReproduccionToolStripMenuItem.Click
            On Error Resume Next
            Dim rutaFichero As String
            Dim i As Integer
            SaveFile.Filter = "Lista de Reproducción (*.mpl4)|*.mpl4"
            SaveFile.ShowDialog()
            rutaFichero = SaveFile.FileName
            Dim fichero As New IO.StreamWriter(rutaFichero)
            For i = 0 To ListBox1.Items.Count - 1
                fichero.WriteLine(ListBox1.Items(i))
            Next
            fichero.Close()
        End Sub

    Despues al cambiarlo a un listview utilize el mismo codigo pero omiti la linea  Me.ListBox1.SelectedIndex = Me.ListBox1.SelectedIndex + 1 ya que no supe como cambiarla  y el codigo me quedo asi 

    Private Sub btnCargarLista_Click(sender As Object, e As EventArgs) Handles btnCargarLista.Click
            On Error Resume Next
            ListView1.Items.Clear()
            OpenFileDialog5.Filter = "Lista de Reproducción (*.mpl4)|*.mpl4"
            OpenFileDialog5.ShowDialog()
            Dim rutaFichero As String
            rutaFichero = OpenFileDialog5.FileName
            If File.Exists(rutaFichero) = True Then
                Dim fichero As New StreamReader(rutaFichero)
                While (fichero.Peek() > -1)
                    ListView1.Items.Add(fichero.ReadLine)
                End While
                fichero.Close()
            End If
        End Sub

        Private Sub btnGuardarLista_Click(sender As Object, e As EventArgs) Handles btnGuardarLista.Click
            On Error Resume Next
            Dim rutaFichero As String
            Dim i As Integer
            SaveFileDialog5.Filter = "Lista de Reproducción (*.mpl4)|*.mpl4"
            SaveFileDialog5.ShowDialog()
            rutaFichero = SaveFileDialog5.FileName
            Dim fichero As New StreamWriter(rutaFichero)
            For i = 0 To ListView1.Items.Count - 1
                fichero.WriteLine(ListView1.Items(i))
            Next
            fichero.Close()
        End Sub 

    me permite guardar la lista de forma correcta pero al volver a cargarla las canciones en el listview estas me aparecen como ListViewItem: {un flash} y si apreto el boton play me aparece el error 

    InvalidArgument=El valor de '1' no es valido para 'index' Nombre del parametro: index

    (enviaria el pantallazo pero la pagina no me deja cargar imagenes)

    viernes, 10 de junio de 2016 0:07
  • Hola Lissette Amalia

    Gracias por responder, te sugiero realizar los siguientes cambios, me tomé la libertad de reproducir tu solución y encontré errores de sintaxis. Acá te posteo el resultado pruébalo, estoy atento a tus comentarios.

    Public Class Form1
        Private Sub ListaDeReproduccionToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ListaDeReproduccionToolStripMenuItem.Click
            On Error Resume Next
            ListBox1.Items.Clear()
            OpenFileDialog1.Filter = "Lista de Reproducción (*.mpl4)|*.mpl4"
            OpenFileDialog1.ShowDialog()
            Dim rutaFichero As String
            rutaFichero = OpenFileDialog1.FileName
            If IO.File.Exists(rutaFichero) = True Then
                Dim fichero As New IO.StreamReader(rutaFichero)
                While (fichero.Peek() > -1)
                    ListBox1.Items.Add(fichero.ReadLine)
                End While
                fichero.Close()
            End If
            Me.ListBox1.SelectedIndex = Me.ListBox1.SelectedIndex + 1
        End Sub
    
        Private Sub GuardarListaDeReproduccionToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles GuardarListaDeReproduccionToolStripMenuItem.Click
            On Error Resume Next
            Dim rutaFichero As String
            Dim i As Integer
            SaveFile.Filter = "Lista de Reproducción (*.mpl4)|*.mpl4"
            SaveFile.ShowDialog()
            rutaFichero = SaveFile.FileName
            Dim fichero As New IO.StreamWriter(rutaFichero)
            For i = 0 To ListBox1.Items.Count - 1
                fichero.WriteLine(ListBox1.Items(i))
            Next
            fichero.Close()
        End Sub
    
        Private Sub btnCargarLista_Click(sender As Object, e As EventArgs) Handles btnCargarLista.Click
            On Error Resume Next
            ListView1.Items.Clear()
            OpenFileDialog5.Filter = "Lista de Reproducción (*.mpl4)|*.mpl4"
            OpenFileDialog5.ShowDialog()
            Dim rutaFichero As String
            rutaFichero = OpenFileDialog5.FileName
            If IO.File.Exists(rutaFichero) = True Then
                Dim fichero As New IO.StreamReader(rutaFichero)
                While (fichero.Peek() > -1)
                    ListView1.Items.Add(fichero.ReadLine)
                End While
                fichero.Close()
            End If
        End Sub
    
        Private Sub btnGuardarLista_Click(sender As Object, e As EventArgs) Handles btnGuardarLista.Click
            On Error Resume Next
            Dim rutaFichero As String
            Dim i As Integer
            SaveFileDialog5.Filter = "Lista de Reproducción (*.mpl4)|*.mpl4"
            SaveFileDialog5.ShowDialog()
            rutaFichero = SaveFileDialog5.FileName
            Dim fichero As New IO.StreamWriter(rutaFichero)
            For i = 0 To ListView1.Items.Count - 1
                fichero.WriteLine(ListView1.Items(i))
            Next
            fichero.Close()
        End Sub
    
    End Class
    

    Nota los cambios en IO.Streamreader   -   IO.Streamwriter  


    Saludos
    José
    __________________________________________________________________________________________
    Por favor, recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, hace que sea más fácil para los otros visitantes encontrar la solución más tarde. Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft. Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    viernes, 10 de junio de 2016 16:42
    Moderador
  • Buenas tardes 

    Realice lo que me sugerio y no me aparece el mensaje de error pero aun así  al apretar el boton play no me reproducen las canciones de la lista que fue creada anteriormente :c 

    viernes, 10 de junio de 2016 21:56