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
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
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.
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