cs_Jack
Messages postés
14006
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
79
31 mars 2007 à 02:38
Ok, donc tu utilses déjà cette fonction.
Comme le système attaque la même interface, ça semble logique qu'il interrompt la première pour jouer la nouvelle.
Alors, il faut changer son fusil d'épaule.
Essaye en utilisant les fonction MCI : mciSendString
Il est capable d'émettre plusieurs fichiers son en même temps
(quelques minutes plus tard)
Voilà un exemple en VB6 que tu pourras facilement transposer en .Net (puisque API)
J'ai utilisé un fichier WAV de l'ordre de 20 secondes pour WAV1, et le deuxième, WAV2, est un petit jingle d'une seconde qui apparait deux fois pendant la lecture du 1er (à toi de mettre deux fichiers son correspondant dans ton répertoire)
Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
Private Sub Form_Load()
Dim sFichier As String
Dim r As Long, t As Single
sFichier = App.Path & "\Son1.wav"
r = mciSendString("OPEN """ & sFichier & """ TYPE WAVEAUDIO ALIAS WAV1" & Chr$(0), 0&, 0, 0)
r = mciSendString("PLAY WAV1 FROM 0", 0&, 0, 0)
t = Timer ' Attend 2 secondes
Do: DoEvents: Loop Until Timer > (t + 2)
sFichier = App.Path & "\Son2.wav"
r = mciSendString("OPEN """ & sFichier & """ TYPE WAVEAUDIO ALIAS WAV2" & Chr$(0), 0&, 0, 0)
r = mciSendString("PLAY WAV2 FROM 0", 0&, 0, 0)
t = Timer ' Attend 1 seconde
Do: DoEvents: Loop Until Timer > (t + 1)
sFichier = App.Path & "\Son2.wav"
r = mciSendString("OPEN """ & sFichier & """ TYPE WAVEAUDIO ALIAS WAV2" & Chr$(0), 0&, 0, 0)
r = mciSendString("PLAY WAV2 FROM 0", 0&, 0, 0)
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Dim sFichier As String
Dim r As Long
' Fermeture
sFichier = App.Path & "\Son1.wav"
r = mciSendString("OPEN """ & sFichier & """ TYPE WAVEAUDIO ALIAS WAV1" & Chr$(0), 0&, 0, 0)
r = mciSendString&("STOP WAV1", 0&, 0, 0)
r = mciSendString&("CLOSE ANIMATION", 0&, 0, 0)
sFichier = App.Path & "\Son2.wav"
r = mciSendString("OPEN """ & sFichier & """ TYPE WAVEAUDIO ALIAS WAV2" & Chr$(0), 0&, 0, 0)
r = mciSendString&("STOP WAV2", 0&, 0, 0)
r = mciSendString&("CLOSE ANIMATION", 0&, 0, 0)
End Sub
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accroit quand on