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

cs_ShayW 3238 Messages postés jeudi 26 novembre 2009Date d'inscription 14 mars 2018 Dernière intervention - 28 sept. 2014 à 13:53 - Dernière réponse : cs_ShayW 3238 Messages postés jeudi 26 novembre 2009Date d'inscription 14 mars 2018 Dernière intervention
- 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

NHenry 14273 Messages postés vendredi 14 mars 2003Date d'inscriptionModérateurStatut 16 octobre 2018 Dernière intervention - 28 sept. 2014 à 15:08
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
cs_ShayW 3238 Messages postés jeudi 26 novembre 2009Date d'inscription 14 mars 2018 Dernière intervention - 28 sept. 2014 à 16:19
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.