一、打開雄邁官方網站:https://open.xmeye.netc++
二、進入後臺,建立應用,獲取uuid、AppKey、AppSecret和moveCard四個值。api
註冊成爲開發者 —》 完善資料 —》 添加應用App —》等待審覈 —》 開始與測試服務器
三、下載SDK:開放平臺 —》資源中心 —》下載中心 —》FunSDK —》下載IOS版app
四、導入SDKtcp
【1】SDK文件說明ide
FunSDK.framework函數
【2】在工程中導入雄邁第三方庫,添加系統依賴庫測試
FunSDK.framework、OpenAL.framework、libresolv、libiconv、libbz二、libz網站
【3】在工程中Build Setting配置參數ui
一、Build Active Architure Only :YES
二、Enable Bitode :NO
三、Enable Testability:NO
四、Other Linker Flags :-ObjC
五、C Language Dialect : Compiler Default
六、C++ Language Dialect :Compiler Default
七、C++ Standard Library : Compiler Default
八、Preprocessor Macros : Debug:DEBUG=1 OS_IOS=1 FORMAL=1
Release :OS_IOS=1 FORMAL=1
【4】添加其它系統依賴庫
AVKit、AssetsLibrary、UserNotification、AudioToolBox、CoreMedia、OpenAL、MediaPlayer、AVFoundation、OpenGLES、GLKit、VideoToolbox、 libz.tbd、libstdc++.6.0.9.tbd、libz2.tbd、libresolv.tbd
【5】注意:若是須要集成魚眼設備的用戶,能夠添加魚眼庫libvrsoft.a。因爲維邁所提供的FunSDK是C++混編的,so 須要對工程中全部須要本類,以及方法的地方都需支持C++。將須要用到FunSDK的.m文件直接重命名爲.mm文件。
五、基本功能執行
【1】FunSDK初始化
a> 庫初始化1 : Fun_Init();
b> 庫初始化2: Fun_InitNetSDK();
c> 設置App文件存儲路徑
d> 設置本地登陸, AP模式登陸及P2P模式登陸的參數
-(void)initFunSDK{
SInitParam pa;
pa.nAppType = H264_DVR_LOGIN_TYPE_MOBILE;
//庫初始化
FUN_Init(0, &pa);
//後臺參數
NSString *uuid = @"jufeng";
NSString *appkey = @"a16ea8f9d5164d1d830e8dbc66a71e24";
NSString *appSecret = @"672f645441b14a259356d027a6b8853f";
int moveCard = 5;
//註冊api
//NSString* strAppKey = @"6356f3673b134e53983798cfb7a0adf3";
//NSDictionary *infoDictionary = [[NSBundle mainBundle]infoDictionary];
//NSString *strUuid = [infoDictionary objectForKey:@"CFBundleIdentifier"];
//FUN_RegistAPI([strAppKey UTF8String], [strUuid UTF8String]);
//錯誤碼初始化
FUN_InitNetSDK();
//初始化雲平臺
FUN_XMCloundPlatformInit([uuid UTF8String], [appkey UTF8String], [appSecret UTF8String], moveCard);
//設置用於存儲設備信息等的數據配置文件
NSArray *pathArray = NSSearchPathForDirectoriesInDomains(
NSCachesDirectory, NSUserDomainMask, YES
);
NSString *path = [pathArray lastObject];
//設置配置文件存儲目錄
FUN_SetFunStrAttr(
EFUN_ATTR_CONFIG_PATH, [[path stringByAppendingString:@"/Configs/"] UTF8String]
);
//設置升級文件存儲目錄
FUN_SetFunStrAttr(
EFUN_ATTR_UPDATE_FILE_PATH,[[path stringByAppendingString:@"/Updates/"] UTF8String]
);
//設置臨時文件存儲目錄
FUN_SetFunStrAttr(
EFUN_ATTR_TEMP_FILES_PATH,[[path stringByAppendingString:@"/Temps/"] UTF8String]
);
//設置本地登陸設備相關信息保存文件的位置
FUN_SysInit(
[[path stringByAppendingString:@"/LocalDevs.db"] UTF8String]
);
//設置AP模式(app直連設備熱點)下設置設備信息保存文件位置
FUN_SysInitAsAPModel(
[[path stringByAppendingString:@"/APDevs.db"] UTF8String]
);
//設置雲服務
FUN_SysInit(constStrServerAddrs, constIntServerPort);
}
【2】設備登陸
不管是哪一種模式(本地,AP,仍是P2P)登陸登出均採用同一套登陸登出接口,而不一樣登陸方式登陸登陸設備只是devid參數不一樣;
本地登陸與AP方式登陸devId均填寫 爲 "ip:port" 的格式。例如設備ip地址爲192.168.1.12 設備tcp端口設置爲34567(普通設備默認值) 則devid爲 "192.168.1.12:34567"。 AP模式,由於設備做爲網關,因此devid 通常填寫爲 "192.168.10.1:34567"這種格式;
P2P方式devid 爲設備的序列號;其餘須要用到devid參數的接口也是如此;在訪問設備以前要先調用設備登陸接口:
int FUN_DevLogin(
UI_HANDLE hUser, const char *szDevId, const char *szUser, const char *szPwd, int nSeq
);
設備登出接口:
int FUN_DevLogout(UI_HANDLE hUser, const char *szDevId);
【3】監控設備視頻播放
設備播放實時視頻接口:
int MediaRealPlay(
int hUser, String devId, int nChnIndex, int nStreamType, Object hWnd, int nSeq
);
設備播放視頻中止接口:
int MediaStop(int hPlayer, int nSeq = 0);
參數說明:
參數1 hUser 爲接口調用結果返回消息接收者,參數2 devId 爲 設備id(同登陸登出)。參數3 nChnIndex 爲通道號,從0開始。 參數4 nStreamType 爲碼流類型 0-主碼流(高分辨率)1-副碼流(低分辨率),參數5 hWnd 爲視頻顯示view指針。 返回值爲 播放器句柄hPlayer;
【4】設備報警消息
開放平臺登陸後,進入控制檯頁面,IOS證書上傳,請按照要求上傳IOS的推送證書。後臺會添加證書到服務器,而後按照demo集成接口就能實現報警推送功能。(沒有上傳證書,推送功能無效)
六、接口說明
【1】調用流程
Start —》FunSDK.init() —》FunSDK.RegWnd() —》FunSDK.xxx()其它接口 —》代理方法OnFunSDKResult函數打印回調結果 —》FunSDK.UnRegWnd() —》FunSDK.UnInit()
【2】庫方法
初始化、反初始化、初始化服務(本地登陸)、初始化服務(AP模式)、初始化服務(雲登陸)、初始化服務(錯誤碼)、反初始化服務(錯誤碼)、初始化app證書、初始化服務器ip和port
【3】系統功能方法
【4】設備功能方法
【5】媒體功能方法
【6】日誌功能方法
【7】報警功能方法
【8】廣告功能方法
【9】語言功能方法
【10】JPEG轉MP4方法
【11】雲存儲功能方法
【12】DSS服務相關方法
【13】媒體文件編譯方法
【14】枚舉及結構體
【15】錯誤碼說明
【16】部分配置使用說明