.NET C# を使用して、特定のマシンにスピーカー、ヘッドフォン、またはマイクが接続されているかどうかを検出する方法を見つけようとしています。
私はこれを達成するための可能な方法を探していましたが、何もうまくいかないようでした. Microsoft.DirectX 名前空間に出会い、後で次のメソッドを作成しました。
ManagementObjectSearcher mo = new ManagementObjectSearcher
("select * from Win32_SoundDevice");
int i = 0;
foreach (ManagementObject soundDevice in mo.Get())
{
Console.WriteLine(soundDevice.GetPropertyValue("DeviceId"));
Console.WriteLine(soundDevice.GetPropertyValue("Manufacturer"));
Console.WriteLine("\n\n\n",i++);
}
Console.WriteLine("Total: {0}", i);
悲しいことに、上記の例ではドライバーのリストが出力されているようです。スピーカーとマイクを差し込んだり抜いたりしてテストしましたが、印刷されたデバイスの数は関係なく同じでした.
PC に接続されたデバイスを追跡するためのより良い方法があるかどうか疑問に思っています。