0

C#を使用してオーディオデバイスがプラグインおよびアンプラグドされたことを検出する方法は?

4

1 に答える 1

1

あなたの最善のアプローチは、おそらく WMI です。ほとんどの WMI クラスのインスタンスの作成/破棄を反映する WMI イベントをサブスクライブできます。Win32_SoundDeviceオーディオ デバイスごとに のインスタンスが存在します。

特定のデバイス (スピーカー、ミュートなど) の状態の詳細が必要な場合、WMI にはこれが含まれていないようです。

「エンドポイント」デバイスを列挙する機能を含むMMDevice APIにアクセスするには、おそらく COM 相互運用機能を使用する必要があります。インポートできるタイプライブラリがないように見えるため、これは大変な作業になります。代わりに、C/C++ を記述してプロキシを提供するか、.NET で必要な COM インターフェイスなどを手動で再作成する必要があります。

于 2012-07-21T11:27:29.490 に答える