捕获到多个文件

将一些视频捕获到文件后,可以通过停止图形并在 文件编写器 筛选器上设置文件名来切换到新文件。 对文件编写器调用 IFileSinkFilter::SetFileName 方法。 生成图形时,可以通过 SetOutputFileName 方法的 pSink 参数获取指向 IFileSinkFilter 接口的指针。 以下代码演示了如何执行此操作:

IBaseFilter *pMux;
IFileSinkFilter *pSink
hr = pBuild->SetOutputFileName(&MEDIASUBTYPE_Avi, L"C:\\YourFileName.avi", 
    &pMux, &pSink);
if (SUCCEEDED(hr))
{
    hr = pBuild->RenderStream(&PIN_CATEGORY_CAPTURE, &MEDIATYPE_Video, 
        pCap, NULL, pMux);

    if (SUCCEEDED(hr))
    {
        pControl->Run();
        /* Wait awhile, then stop the graph. */
        pControl->Stop();
        // Change the file name and run the graph again.
        pSink->SetFileName(L"YourFileName02.avi", 0);
        pControl->Run();
    }
    pMux->Release();
    pSink->Release();
}

将视频捕获到文件