Lire un des son de mes ressources, mais avec des variables

- - Dernière réponse : Whismeril
Messages postés
12426
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
19 décembre 2018
- 19 janv. 2017 à 20:04
Bonjour,
Je sais que le titre est très mal expliqué, mais voilà, j'ai 3 sons en.waw dans mes ressources nommé par exemple Jean1, Jean2 et Jean3. Un petit code génère un nombre aléatoire de 1 à 3.
J'aimerais simplement jouer le son en faisant genre :
My.Computer.Audio.Play(My.Resources.("Jean" & nbaléatoire & ".wav"), AudioPlayMode.Background)
Afficher la suite 

Votre réponse

6 réponses

Messages postés
12426
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
19 décembre 2018
0
Merci
Bonjour

regarde du coté de la classe Random
Commenter la réponse de Whismeril
Messages postés
5622
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
18 décembre 2018
0
Merci
Bonjour,

comme ceci

Select Case nbaléatoire 
                Case 1
                  My.Computer.Audio.Play(My.Resources.Jean1.wav), AudioPlayMode.Background) 'adapter la resource
                Case 2
                   My.Computer.Audio.Play(My.Resources.Jean2.wav), AudioPlayMode.Background)'adapter la resource
                Case 3
                    My.Computer.Audio.Play(My.Resources.Jean3.wav), AudioPlayMode.Background)'adapter la resource
End Select

Commenter la réponse de cs_Le Pivert
0
Merci
Le problème avec ce code, c'est que sa ne marche pas parce que - Impossible de convertir une valeur de type 'UnmanagedMemoryStream' en 'String'. - car mon code pour la valeur aléatoire est:
Dim rm As New Random
nbaléatoire = rm.Next(1, 4)
Commenter la réponse de Hugo
Messages postés
5622
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
18 décembre 2018
0
Merci
Il faut mettre tes fichiers wav dans le dossier de l'executable avec ce code:

   My.Computer.Audio.Play(Application.StartupPath & "\Jean1.wav", AudioPlayMode.Background) 'joue en arrière plan


Ce code ne fonctionne pas avec les fichiers Resources . Il faut un chemin

My.Computer.Audio.Play(My.Resources.Jean1.wav), AudioPlayMode.Background) 'adapter la resource
           


Il ne faut pas oublier de déclarer
nbaléatoire en Integer


@+ Le Pivert
Commenter la réponse de cs_Le Pivert
Messages postés
183
Date d'inscription
vendredi 2 septembre 2016
Dernière intervention
16 janvier 2018
0
Merci
Bonsoir,
Si tu fais comme ça
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim nbraleatoire As Integer = 0
nbraleatoire = TextBox1.Text 'Remplace TextBox1.Text par le nombre aléatoire généré par ton code
Dim Son As System.Media.SoundPlayer
If nbraleatoire = 1 Then
Son = New System.Media.SoundPlayer(My.Resources.Jean1)
ElseIf nbraleatoire = 2 Then
Son = New System.Media.SoundPlayer(My.Resources.Jean2)
ElseIf nbraleatoire = 3 Then
Son = New System.Media.SoundPlayer(My.Resources.Jean3)
End If
Son.Play()
End Sub

ça devrait marcher
Whismeril
Messages postés
12426
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
19 décembre 2018
-
Bonsoir Karin, oui dans l'absolue ça devrait marcher, mais plus haut LePivert a propose un Select Case, qui sert à éviter les cascade de If EsleIf, et Hugo a dit que cela ne lui convenait pas.
Oui j'ai 24 "jean" donc.. Je voulais mais évité de le mettre dans un dossier mais tempi .. merci pour toute vos réponses.
Commenter la réponse de Karin.code
Messages postés
12426
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
19 décembre 2018
0
Merci
Bonsoir

        Dim mesRessources As ResourceManager = My.Resources.ResourceManager

        Dim maRessource As Object = mesRessources.GetObject("Image1")

Commenter la réponse de Whismeril

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.