Jouer un son dans une application, mais ça ne marche pas ! [Résolu]

Signaler
Messages postés
30
Date d'inscription
jeudi 7 juillet 2011
Statut
Membre
Dernière intervention
8 septembre 2014
-
1ModdingMaster
Messages postés
30
Date d'inscription
jeudi 7 juillet 2011
Statut
Membre
Dernière intervention
8 septembre 2014
-
Bonjour, je vous explique mon problème, j'ai une application normale, je souhaite jouer un son une fois qu'on l'a exécutée (Form_Load), ainsi que sur des boutons quand je passe la souris dessus et quand je clique dessus aussi.

J'ai trouvé sur internet que l'on pouvait rendre plusieurs sons jouables simultanément (ce que je recherche (fond + boutons)) avec cette commande-ci :

using System.Runtime.InteropServices;

[DllImport("winmm.dll")]
        private static extern Int32 mciSendString(string command, StringBuilder buffer, int bufferSize, IntPtr hwndCallback);

mciSendString(@"open C:\Users\Nom\Music\music.wav type waveaudio alias music", null, 0, IntPtr.Zero);
mciSendString(@"play music", null, 0, IntPtr.Zero);


Cependant ça ne marche rien, il n'y a aucun son qui sort ni de mes écouteurs ni des speakers de l'ordi. Quelqu'un saurait-il pourquoi s'il vous plaît ? Quelqu'un a-t-il déjà utilisé cette commande ?

Merci de votre réponse.

Cordialement.


NB : J'ai déjà utilisé cette commande :

System.Media.SoundPlayer Son = new System.Media.SoundPlayer();


Elle fonctionne bien, mais est très incomplète, pas de réglage de volume parait-il, et on ne peut pas jouer plusieurs sons simultanément.
A voir également:

2 réponses

Messages postés
30
Date d'inscription
jeudi 7 juillet 2011
Statut
Membre
Dernière intervention
8 septembre 2014
1
Bonjour Whismeril et merci de m'aider encore une fois. Ton aide me fut d'une grande utilité, j'ai pris ton premier exemple avec WMP, car ton second exemple avec DirectX marche aussi mais on ne peux pas donner la Sound.Location, c'est dommage. Avec WMPLib on peut lire des sons simultanément et aussi gérer le volume (tu ne savais pas donc je te montre) :

using WMPLib;

WindowsMediaPlayer PlayMusic = new WMPLib.WindowsMediaPlayer();

PlayMusic.URL = "wav/music.wav";
PlayMusic.controls.play();
PlayMusic.settings.volume = 50; // Entre 0 et 100


Merci de ton aide Whismeril ;) Sujet résolu.
Whismeril
Messages postés
14388
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
24 mars 2020
362
De rien, google a été mon ami!
1ModdingMaster
Messages postés
30
Date d'inscription
jeudi 7 juillet 2011
Statut
Membre
Dernière intervention
8 septembre 2014
1
Il a été le mien aussi avant d'ouvrir un nouveau sujet ici. ;)
Messages postés
14388
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
24 mars 2020
362
Bonjour,

ici un exemple avec System.Media.SoundPlayer pour lire plusieurs sons.
Après pour le volume je ne sais pas
Whismeril
Messages postés
14388
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
24 mars 2020
362
et une autre méthode que tu dois pouvoir aussi jouer en simultané et gérer le volume.