Windows:
下載並安裝QuickTime SDK(官方有下載),下載安裝一個QuickTime for win,在使用SDK時會用到一個QuickTime中的dll(QTCF.dll);
Mac:
添加Cocoa.framework和QuickTime.framework,
windows,需要QuickTime安裝目錄下的QTCF.dll,以及項目設置中修改編譯選項爲 release版的靜態鏈接(項目屬性->c/c++->代碼生成->運行庫->"多線程/(MT)")
#include <QTML.h>
#include <Movies.h>
#pragma comment(lib,"QTMLClient.lib")
main()
{
初始化
InitializeQTML(0);
EnterMovies();
......sdk調用過程
註銷
ExitMovies();
TerminateQTML();
}
mac,需要設置編譯選項爲32bit(Project setting->Build->Architectures->"32-bit Intel")
#include <QuickTime/QuickTime.h>
main()
{
初始化
EnterMovies();
......sdk調用過程
註銷
ExitMovies();
}
------------------------------------------------------------------------------
打開movie關鍵函數: OpenMovieFile,NewMovieFromFile
導出movie關鍵函數:ConvertMovieToFile
函數調用沒什麼難點,具體細節及概念apple官網quicktime開發中心都很詳細,只是細節麻煩;感覺好的時間多花在了文件路徑上,QuickTime SDK中不管import 還是export
關於文件路徑方面都用到一個 FSSpec 的數據結構,
windows上比較好處理:
int error = noErr;
char path[255] ={ 0};
strcpy (path, "c:\\demo.mov");
c2pstr (path);
error = FSMakeFSSpec (0, 0L, (ConstStr255Param)fullPath, &sfFile);
mac 下這樣不行,CocoaDev上有一段代碼可用,雖然貼到xcode上有點問題,只要略做改動就好(http://cocoadev.com/FSMakeFSSpec)