繁体   English   中英

如何选择音频输入设备并在DirectShow中捕获音频

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM