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

Hugo - 19 janv. 2017 à 09:58 - Dernière réponse : Whismeril 11406 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 19 avril 2018 Dernière intervention
- 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 

8 réponses

Répondre au sujet
Whismeril 11406 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 19 avril 2018 Dernière intervention - 19 janv. 2017 à 10:09
0
Utile
Bonjour

regarde du coté de la classe Random
Commenter la réponse de Whismeril
cs_Le Pivert 5065 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 13 avril 2018 Dernière intervention - 19 janv. 2017 à 10:11
0
Utile
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
Utile
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
cs_Le Pivert 5065 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 13 avril 2018 Dernière intervention - Modifié par cs_Le Pivert le 19/01/2017 à 13:14
0
Utile
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
Karin.code 183 Messages postés vendredi 2 septembre 2016Date d'inscription 16 janvier 2018 Dernière intervention - 19 janv. 2017 à 16:30
0
Utile
2
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 11406 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 19 avril 2018 Dernière intervention - 19 janv. 2017 à 17:32
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
Whismeril 11406 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 19 avril 2018 Dernière intervention - 19 janv. 2017 à 20:04
0
Utile
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.