Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: DJ_MAQUINA en 31 Marzo 2011, 02:19 am



Título: Múltiples tarjetas de sonido con winmm.dll
Publicado por: DJ_MAQUINA en 31 Marzo 2011, 02:19 am
Hola: He dado vueltas por todo internet intentando buscar una respuesta pero ha sido inútil.

Estoy programando una sencilla aplicación que reproduzca MP3.
pongo como ejemplo el siguiente código, que funciona al copiar cualquier MP3 a c:\archivo.mp3, iniciando un proyecto nuevo en VB6 y poner lo siguiente:



Código
  1. Private Declare Function mciExecute Lib "winmm.dll" _
  2. (ByVal lpstrCommand As String) As Long
  3. Private Declare Function mciSendString _
  4. Lib "winmm.dll" Alias "mciSendStringA" _
  5. (ByVal lpstrCommand As String, _
  6. ByVal lpstrReturnString As String, _
  7. ByVal uReturnLength As Long, _
  8. ByVal hwndCallback As Long) As Long
  9.  
  10. Private Sub Form_Load()
  11. Dim File As String
  12. File = "C:\archivo.mp3"
  13. mciRet = mciSendString("open " & File & " type MPEGVideo Alias MP3", 0&, 0&, 0&)
  14. If mciRet <> 0 Then
  15.    MsgBox "Error abriendo MP3"
  16. Else: mciExecute "Play MP3"
  17. End If
  18. End Sub
  19.  

Este código me reproduce perfectamente el archivo MP3

Pero sucede que mi PC tiene 2 tarjetas de sonido. La predeterminada y otra adicional. Necesito reproducir el MP3 utilizando la otra tarjeta de sonido, y no encuentro por ningún lado cómo hacerlo.

Sé que en Soporte de Microsoft existe un código muy bueno, el problema es que utiliza "mci32.ocx" y sólo reproduce WAV.

Yo estoy utilizando directamente la API mediante "winmm.dll"

¿Alguna ayuda?

Saludos.


Título: Re: Múltiples tarjetas de sonido con winmm.dll
Publicado por: BlackZeroX en 31 Marzo 2011, 05:08 am
.
Revisa esta informacion.

Multimedia Command Strings (http://msdn.microsoft.com/en-us/library/dd743572%28v=vs.85%29.aspx)

Dulces Lunas!¡.