Я использую 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
}
}
Других решений пока нет …