C/C# peu importe, Lister les cartes son
Lossius30
-
Lossius30 -
Lossius30 -
Bonjour,
Je suis à la recherche d'un programme très très simple. Le principe est simple, on l'exécute via "cmd" puis "cartesSon.exe -list" et qui retournerais la liste des cartes son disponibles sur l'ordinateur, du style :
1-REAL4
2-USBM
Je suis aussi à la recherche d'un lecteur MP3 en ligne de commande très basique :
Lecture / Pause / Stop / Seek / Volume / Carte son à utiliser
Quelqu'un connait si de telles appli existent ? et si ça n'existe pas, me donner des pistes pour que je les programme (d'après ce que j'ai vu, en C# on utilise directX et le code n'a pas l'air facile, mais pas non plus infaisable...) ?
Merci d'avance
Je suis à la recherche d'un programme très très simple. Le principe est simple, on l'exécute via "cmd" puis "cartesSon.exe -list" et qui retournerais la liste des cartes son disponibles sur l'ordinateur, du style :
1-REAL4
2-USBM
Je suis aussi à la recherche d'un lecteur MP3 en ligne de commande très basique :
Lecture / Pause / Stop / Seek / Volume / Carte son à utiliser
Quelqu'un connait si de telles appli existent ? et si ça n'existe pas, me donner des pistes pour que je les programme (d'après ce que j'ai vu, en C# on utilise directX et le code n'a pas l'air facile, mais pas non plus infaisable...) ?
Merci d'avance
6 réponses
-
Bonjour,
Pour la liste des cartes son, je ne sais pas, mais pour la lecture MP3 en ligne de commande, VLC peut faire ça très bien.
Xavier -
slt,
Pour lister les cartes son tu peut faire comme sa en C#
using System; using System.Management; using System.Windows.Forms; namespace CarteSon { public class CarteSonListe { public static void Main() { try { ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_SoundDevice"); foreach (ManagementObject queryObj in searcher.Get()) { Console.WriteLine("Name: {0}", queryObj["Name"]); } } catch (ManagementException ex) { MessageBox.Show("Erreur: " + ex.Message); } } } }
Et pour la lecture mp3 il suffit d'avoir telecharger le SDK directX et de faire
var lecteur = new Microsoft.DirectX.AudioVideoPlayback.Audio(chemin_de_la_musique); lecteur.Play();
-
Merci Nico# pour ta source !
Reivax96, je ne crois pas qu'on puisse choisir la carte son en ligne de commande avec vlc. je vais creuser la piste -
Nico#, c'est nickel pour le listing mais par contre, tu spécifies comment ensuite la carte son à utiliser ?
var lecteur = new Microsoft.DirectX.AudioVideoPlayback.Audio(chemin_de_la_musique).toSoundCard(maCarte);
lecteur.Play();
?
Merci d'avance ! -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bon alors de tete vite fais sur le tas je dirait de faire comme sa :
Je vais tout faire en DirectX meme la recherche de carte car c'est mieux d'utiliser qu'une techno.
var ListeCarteSon = new DevicesCollection(); for(int i = 0; i < ListeCarteSon.Count; i++) { Console.WriteLine(ListeCarteSon[i].Description); } var device = new Device(ListeCarteSon[0].DriverGuid); ListeCarteSon.SetCooperativeLevel(this.Handle, CooperativeLevel.Priority); var _d = new BufferDescription(); _d.Flags = BufferDescriptionFlags.ControlVolume | BufferDescriptionFlags.ControlFrequency | BufferDescriptionFlags.ControlPan | BufferDescriptionFlags.ControlEffects; var son = new SecondaryBufferCheminFichierMP3, _d, device); son.Volume = 100; son.Play(0,BufferPlayFlags.Default); -
C'est déjà un très très bon début !
Je télécharge de quoi coder en C# et je vais faire des tests, on verra ce que ça donne !
En tout cas merci pour votre aide et particulièrement nico#