上一篇介绍如何拍照,这一篇介绍一下如何录制摄像头视频和麦克风的声音,并合成一个视音频文件(avi)。
在上一篇的基础上,需要再创建一个本机音频采集设备的Filter,注意,如果你的机器没有音频采集设备,也就是麦克风,那就无法完成下面的工作,或者说只能生成一个视频文件。
首先,创建视频采集Filter,然后创建音频采集设备的Filter,创建过程跟上一篇中创建视频采集设备Filter类似,代码如下:
void CGetDeviceInfoDlg::CreateAudioFilter(CString strSelectedDevice, IBaseFilter **pBaseFilter)
{
ICreateDevEnum *pCreateDevEnum = NULL;
HRESULT hr = CoCreateInstance(CLSID_SystemDeviceEnum, NULL, CLSCTX_INPROC_SERVER,
IID_ICreateDevEnum, (void**)&pCreateDevEnum);
IEnumMoniker *pEm = NULL;
hr = pCreateDevEnum->CreateClassEnumerator(CLSID_AudioInputDeviceCategory, &pEm, 0);
if (hr != NOERROR)
return;
ULONG cFetched;
IMoniker *pM = NULL;