DirectShow を使用して Windows Embedded CE 6.0 でプログラムを開発しています。C/C++でプログラムを書いています。
プログラムは、複数のオーディオ入力デバイスを処理する必要があります。
DirectShow で使用可能なオーディオ入力デバイスを取得できますが、入力デバイスを指定してオーディオをキャプチャする方法がわかりません。
それを行う方法はありますか?ありがとう!
DirectShow を使用して Windows Embedded CE 6.0 でプログラムを開発しています。C/C++でプログラムを書いています。
プログラムは、複数のオーディオ入力デバイスを処理する必要があります。
DirectShow で使用可能なオーディオ入力デバイスを取得できますが、入力デバイスを指定してオーディオをキャプチャする方法がわかりません。
それを行う方法はありますか?ありがとう!
// まず、次のコードを使用してオーディオ フィルタを作成します
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
}
}