ICaptureGraphBuilder2::RenderStream的连接如何断开?
我用
fBuild.RenderStream(@PIN_CATEGORY_PREVIEW, @MEDIATYPE_Audio, fCap, nil, pDSoundRender)
连接后如果不需要的该如何断开?
Delphi7
////////////////////////////////////////////////////////
fCap:=GetBaseFilter(0); //得到视频设备过程略
CocreateInstance(CLSID_CaptureGraphBuilder2, nil, CLSCTX_INPROC, IID_ICaptureGraphBuilder2, pBuild);
CocreateInstance(CLSID_FilterGraph, nil, CLSCTX_INPROC, IID_IFilterGraph, pGraph);
pBuild.SetFiltergraph(pGraph);
fGraph.AddFilter(fCap, 'VideoCap'); //添加视频设备Filter
CoCreateInstance(CLSID_DSoundRender, nil, CLSCTX_INPROC_SERVER, IID_IBaseFilter, pSoundRender);
fGraph.AddFilter(pSoundRender, 'SoundRender'); //添加声音Filter
fBuild.RenderStream(@PIN_CATEGORY_PREVIEW, @MEDIATYPE_Audio, fCap, nil, pDSoundRender); //建立声音播放连接
fBuild.RenderStream(@PIN_CATEGORY_PREVIEW, @MEDIATYPE_Video, fCap, nil, nil); //建立视频播放连接
fGraph.QueryInterface(IID_IMediaControl, fMControl);
fMControl.Run; //播放