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

Messages postés
3247
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
26 décembre 2018
- - Dernière réponse : cs_ShayW
Messages postés
3247
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
26 décembre 2018
- 28 sept. 2014 à 16:19
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
Afficher la suite 

Votre réponse

2 réponses

Messages postés
14450
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
22 mai 2019
129
0
Merci
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.
Commenter la réponse de NHenry
Messages postés
3247
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
26 décembre 2018
45
0
Merci
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)
Commenter la réponse de cs_ShayW