Как я могу выбрать устройство ввода звука и захватывать звук в DirectShow

Я использую DirectShow для разработки программы в Windows Embedded CE 6.0.
Я пишу программу на C / C ++.

программа должна иметь дело с несколько устройств ввода звука.

Я могу получить доступные устройства ввода звука в DirectShow,
но не знаю, как указать устройство ввода и захватить аудио с него.

есть ли способ сделать это?
Спасибо!

1

Решение

// во-первых, используя следующий код для создания аудио фильтра

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
}
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]