手機視頻研究系列(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做了部分調整如下:

 

運行效果:

 

 

 

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