Jouer un son dans une application, mais ça ne marche pas !

Résolu
1ModdingMaster Messages postés 30 Date d'inscription jeudi 7 juillet 2011 Statut Membre Dernière intervention 8 septembre 2014 - 17 juil. 2014 à 01:29
1ModdingMaster Messages postés 30 Date d'inscription jeudi 7 juillet 2011 Statut Membre Dernière intervention 8 septembre 2014 - 18 juil. 2014 à 16:25
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.

2 réponses

1ModdingMaster Messages postés 30 Date d'inscription jeudi 7 juillet 2011 Statut Membre Dernière intervention 8 septembre 2014 1
Modifié par 1ModdingMaster le 18/07/2014 à 12:05
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.
1
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
18 juil. 2014 à 13:29
De rien, google a été mon ami!
0
1ModdingMaster Messages postés 30 Date d'inscription jeudi 7 juillet 2011 Statut Membre Dernière intervention 8 septembre 2014 1
18 juil. 2014 à 16:25
Il a été le mien aussi avant d'ouvrir un nouveau sujet ici. ;)
0
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
17 juil. 2014 à 18:55
Bonjour,

ici un exemple avec System.Media.SoundPlayer pour lire plusieurs sons.
Après pour le volume je ne sais pas
0
Whismeril Messages postés 19025 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 19 avril 2024 656
17 juil. 2014 à 18:58
et une autre méthode que tu dois pouvoir aussi jouer en simultané et gérer le volume.
0
Rejoignez-nous