Bonjour,
Les sons de mon interface sont gérés par un module de classe

J'ai donc:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Public Class UISound
    Public Shared WithEvents musicPlayer As New WMPLib.WindowsMediaPlayer
    Public Shared Sub PlayMusic(ByVal url As String)
        musicPlayer = New WMPLib.WindowsMediaPlayer
        musicPlayer.URL = url
        volumeMusic()
        musicPlayer.controls.play()
    End Sub
    Public Shared Sub volumeMusic()
        musicPlayer.settings.volume = My.Settings.music_volume / 10
    End Sub    
    Public Shared Sub musicPlayer_MediaEnded(ByVal NewState As Integer) Handles musicPlayer.PlayStateChange
        If NewState = WMPLib.WMPPlayState.wmppsStopped Then
            musicPlayer.close()
        End If
    End Sub
End Class
Et dans la fenêtre principale de mon application j’appelle le son ainsi:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
UISound.PlayMusic("son1.wav")
Parfait!!

Dans mon application il y a un lancement d'une autre application et je veux qu'il y ait un son juste avant ce lancement
J'ai donc:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
Sub launchGame(ByVal romn)
        UISound.PlayMusic("voice1.wav")
        Dim myProcess As New Process()
        myProcess.StartInfo.FileName = appName
        myProcess.StartInfo.WorkingDirectory = appDir
        myProcess.StartInfo.Arguments = appCmd
        myProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
        myProcess.Start()
        Me.Topmost = False
        myProcess.WaitForExit()
        myProcess.Close()
        Me.Topmost = True
End Sub
...et bien le son se lance (ou du moins n'est entendu!) que lorsque l'application lancée est terminée et que l'on revient sur la mienne!
J'ai fait un test, et le fait d'enlever

Code : Sélectionner tout - Visualiser dans une fenêtre à part
myProcess.WaitForExit()
permet d'entendre le son. C'est comme si tout allait "trop vite" et que, bien que l'instruction de lecture du son soit faite avant de lancer l'application extérieure, le fait de tomber sur le 'myProcess.WaitForExit' l'interrompe momentanément!?

Est-ce bien cela qui se passe?
Comment faire pour assurer la lecture du son jusqu'au bout pendant le lancement de l'application extérieure (ou au pire, juste avant)

Merci!!