请高手指点directshow的问题

tsytkh   2010-1-18 11:40 楼主
我在wince上面使用下面的方法得到mux和sinkfilter
hr = m_pCaptureGraphBuilder->SetOutputFileName( &MEDIASUBTYPE_Avi, L"test.avi", &m_pMuxFilter, &m_pVideoFileSink );

为什么会出错,返回错误码hr=0x80004005

回复评论 (8)

可能是文件名指定的问题

CE下必须使用全路径,因为CE下没有当前工作目录的概念.
点赞  2010-1-18 12:37
L"test.avi"
修改一下呢
比如_T("\\NandFlash\\test.avi")
点赞  2010-1-18 12:55
改为_T("\\NandFlash\\test.avi")后错误依旧
点赞  2010-1-18 14:39
会不会是WinCE系统没有添加DirectShow组件
点赞  2010-1-18 14:47
如果视频文件与可执行文件在同一目录,那什么都不用加…代码应该没问题,因为它能返回东西呀…
点赞  2010-1-18 15:03
Windows CE的进程不支持环境变量和当前目录。你需要使用GetMuduleFileName来获取当前应用程序所在路径,然后加上需要使用的文件路径…
点赞  2010-1-19 16:50
可能是程序前面初始化部分出错了,
点赞  2010-1-20 12:54
学习ing
点赞  2010-1-21 18:30
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复