1

DirectShow を使用して Windows Embedded CE 6.0 でプログラムを開発しています。C/C++でプログラムを書いています。

プログラムは、複数のオーディオ入力デバイスを処理する必要があります。

DirectShow で使用可能なオーディオ入力デバイスを取得できますが、入力デバイスを指定してオーディオをキャプチャする方法がわかりません。

それを行う方法はありますか?ありがとう!

4

1 に答える 1

0

// まず、次のコードを使用してオーディオ フィルタを作成します

IBaseFilter * pDevice = NULL;  
CoCreateInstance(CLSID_AudioCapture, NULL, CLSCTX_INPROC,IID_IBaseFilter,   (void**)&pDevice);

// 次に、PIN を列挙して、フィルタから入力オーディオ名を取得します

IEnumPins * pinEnum = NULL;  
IPin * pin = NULL;  
ULONG fetchCount = 0;  
PIN_INFO pinInfo;  
pDevice->EnumPins(&pinEnum);

while (SUCCEEDED(pinEnum->Next(1, &pin, &fetchCount)) && fetchCount)   
{  
    pin->QueryPinInfo(&pinInfo);  
    if (pinInfo.dir == PINDIR_INPUT)  
    {  
        // get name from pinInfo.achName  
    }  
}
于 2013-01-29T01:36:12.027 に答える