[英]How can I select an audio input device and capture audio in 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
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.