Jouer un son (fichier wav) [Résolu]

Signaler
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
-
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
-
Bonjour,

Dans ma ressource j'ai placé une liste de fichier wav chacun commence par mus
dans une list of string je récupère le titre de chaque fichier.
Je choisis aléatoirement un titre et voudrais jouer le wav correspondant.
 Private listmusics As New List(Of String)
For Each ResourceFile As DictionaryEntry In My.Resources.ResourceManager.GetResourceSet(Globalization.CultureInfo.CurrentCulture, True, True).OfType(Of Object)()
If TypeOf (ResourceFile.Key) Is String Then
If ResourceFile.Key.ToString.StartsWith("mus") Then
listmusics.Add(ResourceFile.Key.ToString)
End If
End If
Next


Dim rdn As New Random
Dim x As Integer

x = rdn.Next(0, listmusics.Count)
listmusic(x) est le titre choisi maintenant comment jouer le wav correspondant
My.Computer.Audio.Play(My.Resources.listmusics(x))
n'est pas accepté
ou soit écrire un select case
Select Case listmusics(x)
Case "muscondor1" : My.Computer.Audio.Play(My.Resources.muscondor1, AudioPlayMode.Background)
Case "muscondor2" : My.Computer.Audio.Play(My.Resources.muscondor2, AudioPlayMode.Background)
End Select

si j'ai plus de 50 wav il y a 50 case !!!!
il y a peut etre une autre méthode ?
Merci d'avance

2 réponses

Messages postés
14738
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
23 novembre 2020
148
Bonjour,

D'après la documentation http://msdn.microsoft.com/en-us/library/cf1shcah%28v=vs.90%29.aspx
Tu peux mettre un nom de fichier ou un flux, je te suggère de voir une source qui permet d'extraire une ressources d'un projet en exécution, pour voir comment récupérer le flux qui va avec.
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
50
Bonjour

Merci j'ai trouvé une solution

private listmusics As New List(Of System.IO.UnmanagedMemoryStream)

For Each ResourceFile As DictionaryEntry In My.Resources.ResourceManager.GetResourceSet(Globalization.CultureInfo.CurrentCulture, True, True).OfType(Of Object)()
If TypeOf (ResourceFile.Key) Is String Then
If ResourceFile.Key.ToString.StartsWith("mus") Then
listmusics.Add(CType(ResourceFile.Value, System.IO.UnmanagedMemoryStream))
End If
End If
Next

Dim rdn As New Random
Dim x As Integer

x = rdn.Next(0, listmusics.Count)

My.Computer.Audio.Play(listmusics(x), AudioPlayMode.WaitToComplete)