1

私は Windows オーディオ アプリケーションを開発しており、MMDeviceEnumerator を使用して、利用可能なすべてのオーディオ インターフェイスを処理しています。これは、デバイス自体に関するいくつかの情報を提供する MMDevice を取得することになります。

デバイスが提供するチャネルの総数を取得したいと考えています。現在、プロパティ ストアを使用して現在の WAV 形式を返していますが、これは Windows が「共有」モードに指定した形式を返します。Focusrite 18i8 を使用すると、Windows はこのデバイスに 2 つのチャネルがあることを示します。これは、デバイスの詳細設定の「既定の形式」で指定されているものとまったく同じです。Windows 自体では、既定の形式で 2 つの入力チャネル以外を指定することはできません。

問題は、このデバイスには 18 の入力チャネルがあり、Wasapi を使用して排他モードで開き、すべてのチャネルにアクセスしたいということです。オーディオ デバイスが実際に持っている「実際の」チャンネルの数を調べる方法がわかりません。

これは MMDevice から見つけることができますか?

4

1 に答える 1

0

を使用すると、クラス CSCoreを使用してこの情報を取得できます。AudioMeterInformation

以下に例を示します。

mic_in.Device = micdevices[waveInIndex];

int  mic_in_chanNo = AudioMeterInformation.FromDevice(mic_in.Device).MeteringChannelCount;
于 2016-04-13T05:16:27.497 に答える