DirectShowLib+C#开发问题

zhaowei5204 2013-02-03 05:39:57
问下各位
IBaseFilter ibfRenderer = null;
ISampleGrabber sampGrabber = null;
IBaseFilter capFilter = null;
IPin iPinInFilter = null;
IPin iPinOutFilter = null;
IPin iPinInDest = null;

// Get the graphbuilder object
//m_FilterGraph = new FilterGraph() as IFilterGraph2;

try
{
// Get the SampleGrabber interface
sampGrabber = new SampleGrabber() as ISampleGrabber;

// Add the video source
hr = m_FilterGraph.AddSourceFilter(FileName, "Ds.NET FileFilter", out capFilter);
DsError.ThrowExceptionForHR(hr);

// Hopefully this will be the video pin
IPin iPinOutSource = DsFindPin.ByDirection(capFilter, PinDirection.Output, 0);

IBaseFilter baseGrabFlt = sampGrabber as IBaseFilter;

//设置好sampGrabber
ConfigureSampleGrabber(sampGrabber);

iPinInFilter = DsFindPin.ByDirection(baseGrabFlt, PinDirection.Input, 0);
iPinOutFilter = DsFindPin.ByDirection(baseGrabFlt, PinDirection.Output, 0);

// Add the frame grabber to the graph
hr = m_FilterGraph.AddFilter(baseGrabFlt, "Ds.NET Grabber");
DsError.ThrowExceptionForHR(hr);

hr = m_FilterGraph.Connect(iPinOutSource, iPinInFilter);

问下这段代码中我在 hr = m_FilterGraph.Connect(iPinOutSource, iPinInFilter);

总是连接不上
hr返回一个非0值
这段代码有什么问题吗
用m_FilterGraph.Connect 连接两个通道总是提示连接不成功,返回一个负数
...全文
472 4 点赞 打赏 收藏 举报
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
a429051366 2014-01-12
楼主好 ,我打算用directshowlib 来做一个项目 ,视屏叠加的,可是没有这方面的书,就算是帮助文档也好,您能给点建议吗,比如哪本书之类的 ,我是用c#来做 用directshowlib这个
  • 打赏
  • 举报
回复
zhaowei5204 2013-02-20
这个问题解决了,还是感谢楼上的支持,呵呵,我也不知道是什么原因,我机子上装了.net framework 2.0/3.5/4.0,我把其他的全部卸载,只留2.0就可以了,很坑爹是吧。
  • 打赏
  • 举报
回复
ArcRain 2013-02-05
有些FILTER使用时可能需要预先设置参数才能使用,另外,如果下游的FILTER不支持上游的数据,也会失败。 最好能定位到你所想使用的FILTER是哪种类型,确定是否支持。
  • 打赏
  • 举报
回复
相关推荐
发帖
多媒体/流媒体开发
加入

2472

社区成员

专题开发/技术/项目 多媒体/流媒体开发
申请成为版主
帖子事件
创建了帖子
2013-02-03 05:39
社区公告
暂无公告