iOS開發之整合雄邁視頻FunSDK步驟

來源:互聯網
上載者:User

標籤: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步驟

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.