Hace unos días comentaba que tuve un problema con la clase Dialog y el tipo Sound.
El código era tan sencillo como este:
Public Sub btnAbrir_Click()
Dim ruta As String
Dim misonido As Sound
Dialog.Title = "Selecciona un archivo de audio"
Dialog.Filter = ["*.ogg", "Archivos de audio"]
Dialog.Path = User.Home
If Dialog.OpenFile() Then Return
ruta = File.Load(Dialog.Path)
misonido = Sound.Load(ruta)
misonido.play()
Catch
Message.Info("Error")
End
Dim ruta As String
Dim misonido As Sound
Dialog.Title = "Selecciona un archivo de audio"
Dialog.Filter = ["*.ogg", "Archivos de audio"]
Dialog.Path = User.Home
If Dialog.OpenFile() Then Return
ruta = File.Load(Dialog.Path)
misonido = Sound.Load(ruta)
misonido.play()
Catch
Message.Info("Error")
End
Error que produce:
- Violación de segmento
- No se reproduce la canción.
- Se muestra en la consola:
Citar:
Cambiemos el código.
Error que produce:
- En la consola se muestra como si mostrásemos el contenido del archivo de sonido!.
Cambiemos otra vez el código. Eliminamos la variable de cadena ruta.
Errores que se producen:
Citar:
Pero el archivo es reproducido correctamente.
Al eliminar la variable del tipo sound la ruta es mostrada correctamente.
Public Sub btnAbrir_Click()
'Dim misonido As Sound
Dim ruta As String
Dialog.Title = "Selecciona un archivo de audio"
Dialog.Filter = ["*.ogg", "Archivos de audio"]
Dialog.Path = User.Home
If Dialog.OpenFile() Then Return
ruta = Dialog.Path
Print ruta
' misonido = Sound.Load(Dialog.path)
' misonido.play()
Catch
Message.Info("Error")
End
'Dim misonido As Sound
Dim ruta As String
Dialog.Title = "Selecciona un archivo de audio"
Dialog.Filter = ["*.ogg", "Archivos de audio"]
Dialog.Path = User.Home
If Dialog.OpenFile() Then Return
ruta = Dialog.Path
Print ruta
' misonido = Sound.Load(Dialog.path)
' misonido.play()
Catch
Message.Info("Error")
End
Salida en la consola:
Citar:
Errores:
- Funciona correctamente esa parte de código
Y este es otro ejemplo funcional:
Saludos