Obtenir la liste des périphériques audio et sélectionnez-en un à l'aide de c#
Salut, je suis entrain de créer un bureau de l'application windows à l'aide de C#.
J'ai pour afficher la liste de tous les fichiers audio & vidéo appareils en 2 différentes zones de liste déroulante.
Sélection d'un périphérique de zone de liste déroulante jeu de ce périphérique par défaut
Je suis à l'aide de WMI.
Code pour obtenir la liste des périphériques audio:
ManagementObjectSearcher mo =
new ManagementObjectSearcher("select * from Win32_SoundDevice");
foreach (ManagementObject soundDevice in mo.Get())
{
String deviceId = soundDevice.GetPropertyValue("DeviceId").ToString();
String name = soundDevice.GetPropertyValue("Name").ToString();
//saving the name and device id in array
}
si j'essaie de configurer l'appareil comme ceci:
using (RegistryKey audioDeviceKey =
Registry.LocalMachine.OpenSubKey(audioDevicesReg
+ @"\" + audioDeviceList.SelectedText.ToString(), true)){}
- je obtenir de l'exception :
System.Security.SecurityException occurred in mscorlib.dll
Maintenant, j'ai quelques questions:
1) How to set the selected device as the default audio device?
2) The array contains device name as : "High Definition audio device"
even when I have attached a headset.
3) I want the list as speaker,headset etc...How to get that?
quelqu'un peut me pointer dans la bonne direction?
peut-être que vous devez avoir des privilèges d'administrateur. exécuter en tant qu'administrateur.
OriginalL'auteur Swati | 2011-03-23
Vous devez vous connecter pour publier un commentaire.
Il n'est malheureusement pas réussi interop publié par Microsoft pour le IMMDeviceEnumerator de l'API, vous devez définir votre propre (il y a plusieurs définitions disponibles sur internet).
j'ai eu un SoundUtils fichier de classe à partir du lien ci-dessus, mais je ne comprends pas comment l'utiliser pour obtenir la liste des périphériques audio.J'ai ajouté un fichier de classe et a essayé d'hériter de son interface IMMDeviceCollection. aussi copié les méthodes d'interface, mais ne peut toujours pas trouver comment obtenir la liste des périphériques..
Que vous appelez un "nouveau IMMDeviceEnumerator()", puis d'appeler EnumAudioEndpoints().
hey Larry j'ai eu la réponse pour appareils audio, mais la liste des périphériques vidéo ne fonctionne toujours pas, je suis en utilisant ce lien : c-sharpcorner.com/UploadFile/yougerthen/810262008070218AM/...
Je n'ai pas de réponse pour l'énumération des périphériques vidéo, désolé. Vous pourriez essayer de regarder DirectX, il pourrait y avoir quelque chose là-bas.
OriginalL'auteur Larry Osterman
Je réponds trop tard pour cette question.. mais il peut être utile pour les autres.
Lync 2013 SDK fournit
DeviceManager
classe qui liste tous les appareils audio et vidéo dans les collectionsLyncClient.GetClient().DeviceManager.AudioDevices
énumère tous les périphériques audio sur le systèmeLyncClient.GetClient().DeviceManager.VideoDevices
énumère tous les périphériques vidéo sur le systèmeDonc, on peut configurer l'appareil comme:
HTH.
OriginalL'auteur Manish Dalal