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

急关于WINDOWS CE下调用DirectShow开发多媒体的有关问题!

2012-02-10 
急!!!关于WINDOWS CE下调用DirectShow开发多媒体的问题!!!我在WINDOWSCE平台上调用DirectShow开发多媒体,

急!!!关于WINDOWS CE下调用DirectShow开发多媒体的问题!!!
我在WINDOWS   CE平台上调用DirectShow开发多媒体,当初始化COM以后,调用CoCreateInstance方法,老是出错,返回一个很小的负数,不知道是什么原因,请高手指教,下面是其中一段代码。IID和CLSID都没错。

        HRESULT   hr   =   CoInitializeEx(NULL,   COINIT_MULTITHREADED);
hr   =   CoCreateInstance(CLSID_FilterGraph,   NULL,   CLSCTX_INPROC,   IID_IGraphBuilder,   (void   **)&pGraph);
        //   Filenames   on   Windows   CE   start   with   a   \\   instead   of   a   drive   letter.
        pGraph-> RenderFile(L "\\Videos\\没有你的每一天.wmv ",   NULL);

谢谢!!!


[解决办法]
JIF(CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER,IID_IGraphBuilder, (void **)&ipGraBuilder));
[解决办法]
// Initialize COM
if(FAILED(CoInitializeEx(NULL, COINIT_MULTITHREADED)))
{
RETAILMSG(1, (TEXT( "CoInitialize Failed!\r\n ")));
exit(1);
}
JIF(CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER, IID_IGraphBuilder, (void **)&pGB));

可参考wince目录下的sdk的playwnd例子
[解决办法]
我估计你定制wince的时候,没有把directshow的相关模块全部加进去。你应该先查你的OS。
[解决办法]
你定制的时候把dshow和WMP等都加进来,然后在WINCE中试着打开wmp,如果可以就说明没问题,肯定是你代码的问题或者你链接了不正确的lib文件等等。
[解决办法]
你的CE什么版本,看看是否支持DSHOW.
 另外,你可以把CoCreateInstance返回值,转变成正数,看看对应的错误代码解释。

热点排行