|
在WinCE平台的手机上开发应用程序.
程序中要实现播放音频文件(MP3,WAV都可以),
想到了DirectShow技术,
if(CoInitializeEx(NULL, COINIT_MULTITHREADED) != S_OK)
{
goto END;
}
// Get the interface for DirectShow's GraphBuilder
LONG ret = CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER, IID_IGraphBuilder, (void **)&m_pGB);
if(ret != S_OK)
{
goto END;
}
// Have the graph construct its the appropriate graph automatically
if(m_pGB->RenderFile(m_szFileName, NULL) != NOERROR)
.........................
供测试的手机有两部,都是WinCE平台的,一台手机上运行正常,可以播放出声音.
另一台程序在运行到LONG ret = CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER, IID_IGraphBuilder, (void **)&m_pGB);时出错,返回值为REGDB_E_CLASSNOTREG,MSDN中说是类型没有注册,
我猜测可能是值么COM组件没有在这部手机上注册,但不知道该如何解决,
怎样才能在没有注册的手机上也能播放呢,我在程序中注册哪个文件呢,怎么注册呢?还请大家指点.
|
|