手机视频研究系列(1)

 

windowsmobile下进行视频采集,我采用的directshow进行实现。

我的开发环境是vs2005,用的开发语言为C++,做正儿八经的事情,我还是倾向于使用C++来做,当然用directshow可能最好用C++比较好。

我开发电脑上安装的是windowsmobile sdk 6.0。在安装好了SDK后,在c:/Program Files/Windows Mobile 6SDK/Samples/PocketPC/CPP/win32/CameraCapture/目录下有个视频采集的例子,打开就可以编译。如果编译过程中出现如下错误:

错误       1     errorLNK2001: 无法解析的外部符号IID_IMediaEvent  graphmanager.obj  

错误       2     errorLNK2001: 无法解析的外部符号PIN_CATEGORY_STILL    graphmanager.obj  

错误       3     errorLNK2001: 无法解析的外部符号CLSID_IMGSinkFilter  graphmanager.obj  

错误       4     errorLNK2001: 无法解析的外部符号PIN_CATEGORY_CAPTURE      graphmanager.obj  

错误       5     errorLNK2001: 无法解析的外部符号MEDIATYPE_Video     graphmanager.obj  

错误       6     errorLNK2001: 无法解析的外部符号MEDIASUBTYPE_Asf graphmanager.obj  

错误       7     errorLNK2001: 无法解析的外部符号DMOCATEGORY_VIDEO_ENCODER      graphmanager.obj  

错误       8     errorLNK2001: 无法解析的外部符号CLSID_DMOWrapperFilter  graphmanager.obj  

错误       9     errorLNK2001: 无法解析的外部符号CLSID_VideoCapture   graphmanager.obj  

错误       10    errorLNK2001: 无法解析的外部符号CLSID_FilterGraph      graphmanager.obj  

错误       11    errorLNK2001: 无法解析的外部符号CLSID_CaptureGraphBuilder      graphmanager.obj  

错误       12    fatalerror LNK1120: 11 个无法解析的外部命令       Windows Mobile 6Professional SDK   

不用着急,我也遇到了这样的情况,可能跟DIRECTX的安装有些关系,请调整vs2005的编译环境设置,“工具/选项/项目和解决方案/VC++目录/”,平台选windows mobile 6 professional,库文件中将“C:/Program Files/WindowsMobile 6 SDK/PocketPC/lib/ARMV4I”调整到最上面,然后编译就应该就可以编译通过了。

我的测试真机为S900,显示出来的按钮显示不正常,我对appwindow.cpp做了部分调整如下:

 

运行效果:

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章