Hola, tras un buen rato trasteando con el código de ejemplo que se puede ver aquí: http://msdn.microsoft.com/en-us/library/tbx06asw.aspx
Creo que he llegado al código principal para reproducir varios sonidos en bucle al mismo tiempo. Tal y como entiendo el código, primero creamos varios reproductores, y luego le decimos a cada reproductor qué tiene que reproducir, y así es como se supone que esta clase permite reproducir varios sonidos a la vez. Pero me debo en equivocar en algo, porque no me funciona.
Este es todo el código en Form1. Al abrirse, Player reproduce ambiente.wav en bucle. Luego Button1 hace que Player2 reproduzca motor.wav en bucle, pero Player se detiene. ¿Qué estoy haciendo mal?
Código vb:
Ver originalImports System
Imports System.Media
Imports System.Windows.Forms
Public Class Form1
Private Player As New SoundPlayer
Private Player2 As New SoundPlayer
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Me.Player.SoundLocation = Application.StartupPath & "\media\ambiente.wav"
Me.Player.PlayLooping()
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Me.Player2.SoundLocation = Application.StartupPath & "\media\motor.wav"
Me.Player2.PlayLooping()
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Me.Player.Stop()
End Sub
End Class
Edito: Por más que busco sobre SoundPlayer en Google, en todos lados dicen que esta clase no permite reproducir varios archivos a la vez. ¿Por qué decías que sí se puede?