首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

求一段directshow播放socket接收到的视频信息的代码解决方法

2013-01-25 
求一段directshow播放socket接收到的视频信息的代码求一段directshow播放socket接收到的视频信息的代码,最

求一段directshow播放socket接收到的视频信息的代码
求一段directshow播放socket接收到的视频信息的代码,最好是c++的
[解决办法]
//接收端
void CCapture::ReceiveVedio(HWND m_hWnd)
{
HRESULT hr;
CoCreateInstance(CLSID_CaptureGraphBuilder2 , NULL, CLSCTX_INPROC,
IID_ICaptureGraphBuilder2, (void **) &pCapture);
hr = CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER, 
IID_IGraphBuilder, (void **)&pReceiveGrap);
hr = CoCreateInstance(CLSID_DSNetReceive, NULL, CLSCTX_INPROC_SERVER, 
IID_IBaseFilter, (void**)&pReceive);   //接收端
hr = CoCreateInstance(CLSID_VideoDeCompressorCategory, NULL, CLSCTX_INPROC_SERVER, 
IID_IBaseFilter, (void**)&pDecodec);    //解码器
hr = CoCreateInstance(CLSID_VideoRenderer,0,CLSCTX_ALL,
IID_IBaseFilter,(void**)&pReceivePreview);
hr =pReceiveGrap->AddFilter(pReceive,L"Xvid Receive");
ParameterSetReceive(pReceive);

pCapture->SetFiltergraph(pReceiveGrap);
hr =pReceiveGrap->AddFilter(pDecodec,L"Xvid Decodec");
    hr =pReceiveGrap->AddFilter(pReceivePreview,L"Previvew");
//连接引脚
IPin *p1Out=FindPin(pReceive,PINDIR_OUTPUT);
IPin *p2In=FindPin(pDecodec,PINDIR_INPUT);
hr=pReceiveGrap->Connect(p1Out,p2In);

IPin *p2Out=FindPin(pDecodec,PINDIR_OUTPUT);
IPin *p3In=FindPin(pReceivePreview,PINDIR_INPUT);
hr=pReceiveGrap->Connect(p2Out,p3In);

pReceiveGrap->QueryInterface(IID_IVideoWindow,(LPVOID*)&pReceiveViewWindow);
SetVideoWindow(m_hWnd,pReceiveViewWindow);
}
请采纳,修改

热点排行