HRESULT Cvp::RecordPlay(CString szFile)
{
if(isStop!=m_status) Stop();
HRESULT hr;
CHECK_ERROR( GetInterfaces(),"GetInterfaces failed." );
CHECK_ERROR( CoCreateInstance (CLSID_CaptureGraphBuilder2 , NULL, CLSCTX_INPROC,
IID_ICaptureGraphBuilder2, (void **) &m_pC) ,"CoCreateInstan ICaptureGraphBuilder2 failed:");
CHECK_ERROR( m_pC->SetFiltergraph(m_pG),"Failed to set capture filter graph.");
hr = FindCaptureDevice(&m_pBF);
if (FAILED(hr))
return hr;
if(m_pBF) hr=m_pG->AddFilter(m_pBF,L"Video Capture");
if(hr!=NOERROR)
{
MessageBox(m_hWnd,"Cannot add vidcap to filtergraph./r/n/r/n"
"If you have a working video capture device, please make sure/r/n"
"that it is connected and is not being used by another application./r/n"
"The applicatio
directshow摄像头录像代码
最新推荐文章于 2024-02-29 09:26:03 发布
本文档详细介绍了使用DirectShow进行摄像头录像的C++代码实现过程,包括设置CaptureGraphBuilder2,找到捕获设备,添加过滤器,设置输出文件以及连接源过滤器和渲染过滤器的步骤。在运行过程中,如果捕获设备已被其他应用使用,会给出相应错误提示。
摘要由CSDN通过智能技术生成