標籤:tst result enable director 配置參數 rem 配置使用 tin height
1、開啟雄邁官方網站:https://open.xmeye.net
2、進入後台,建立應用,擷取uuid、AppKey、AppSecret和moveCard四個值。
註冊成為開發人員 —》 完善資料 —》 添加應用App —》等待審核 —》 開始與測試
3、下載SDK:開放平台 —》資源中心 —》下載中心 —》FunSDK —》下載IOS版
4、匯入SDK
【1】SDK檔案說明
FunSDK.framework
【2】在工程中匯入雄邁第三方庫,添加系統依賴庫
FunSDK.framework、OpenAL.framework、libresolv、libiconv、libbz2、libz
【3】在工程中Build Setting配置參數
1、Build Active Architure Only :YES
2、Enable Bitode :NO
3、Enable Testability:NO
4、Other Linker Flags :-ObjC
5、C Language Dialect : Compiler Default
6、C++ Language Dialect :Compiler Default
7、C++ Standard Library : Compiler Default
8、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檔案。
5、準系統執行
【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整合介面就能實現警示推送功能。(沒有上傳認證,推送功能無效)
6、介面說明
【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】部分配置使用說明
iOS開發之整合雄邁視頻FunSDK步驟