Android移動端音視頻的快速開發教程(八)


4.5.1. 數組

獲取SDK版本信息 public int GetSDKMainVersion(); 功能:獲取SDK主版本號。 返回值:主版本號 參數:無 public int GetSDKSubVersion (); 功能:獲取SDK從版本號。 返回值:從版本號 參數:無 public String GetSDKBuildTime (); 功能:獲取SDK編譯時間字符串。 返回值:編譯時間字符串 參數:無 4.5.2. 獲取當前房間在線用戶列表 public native int[] GetOnlineUser(); 功能:獲取當前房間在線用戶列表(不包含本身) 返回值:在線用戶ID數組 參數: 無。 備註: 獲取在線用戶列表,並不包含當前用戶本身的ID,本身的ID在登陸事件(AnyChatBaseEvent)中已通知給上層應用。 第 36 頁 共 51 頁 AnyChat for Android SDK 開發手冊 佰銳科技 版權全部 4.5.3. 傳送文本消息 int SendTextMessage(int userid, boolean secret, String message); 功能:向指定的用戶傳送文本消息 返回值:0表示成功,不然爲出錯代碼 參數: dwUserid: 目標用戶編號,-1表示你們(全部人) secret: 是否爲密語,只在dwUserid不爲-1時有效,選擇密語時,其它用戶看不到發送的消息 message: 消息字符串 備註: 能夠利用該消息實現文字交流的功能,發送消息的對象能夠是你們,也能夠是指定的對象,若是是對指定的對象發送文字消息,能夠選擇密語。 對方收到該消息後,會觸發AnyChatTextMsgEvent接口的接口函數的調用。 4.5.4. 透明通道傳送緩衝區 int TransBuffer(int userid, byte[] buf, int len); 功能:透明通道傳送緩衝區 返回值:0表示成功,不然爲出錯代碼 參數: dwUserid: 目標用戶編號,-1表示你們(用戶當前房間全部人) buf: 緩衝區 len: 緩衝區的大小 備註: 能夠利用該方法實現自定義功能,緩衝區採用透明傳輸,目標對象能夠是你們,也能夠是指定的對象。 該方法將會觸發對方的AnyChatTransDataEvent接口的對應接口函數。 該API方法支持跨房間傳輸緩衝區數據,目標用戶爲指定用戶時,目標用戶能夠與本身在不一樣的房間,或是目標用戶沒有進入任何房間,或是源用戶(本身) 第 37 頁 共 51 頁 AnyChat for Android SDK 開發手冊 佰銳科技 版權全部 沒有進入任何房間,只要雙方都登陸服務器成功,則可利用該方法傳輸緩衝區,當目標用戶編號爲-1時,則源用戶(本身)必須已經在房間中,表示向該房間的其它用戶廣播數據(注:本身不能發送給本身)。 4.5.5. 透明通道傳送緩衝區擴展 int TransBufferEx(int userid, byte[] buf, int len, int wparam, int lparam, int flags); 功能:透明通道傳送緩衝區 返回值:>0表示任務ID號(可利用該ID查詢該任務的傳輸進度),不然表示出錯。 參數: userid: 目標用戶編號,只針對某一個用戶,不能爲-1(全部人) buf: 緩衝區,≤1024KB(1MB),內部會自動分包處理 len: 緩衝區的大小 wParam: 附帶參數,由上層應用自定義 lParam: 附帶參數2,由上層應用自定義 dwFlags: 特殊功能標誌,當對該緩衝區有特殊要求時,可經過使用相關的功能標誌,通知SDK進行特殊的處理,默認爲0,SDK將自動根據網絡狀態選擇合適的傳輸途徑(TCP、UDP or P2P) 備註: 該方法與「TransBuffer」功能相同,都是傳輸上層應用自定義(透明通道)數據,區別在於該方法經過設置相應的功能標識,如可選擇採用UDP通道傳輸,可是隻針對指定的用戶傳輸,而「TransBuffer」方法則固定採用TCP通道傳輸,且緩衝區大小不能超過1024個字節,但能夠針對全部用戶傳輸。 從應用來看: (1)、TransBuffer適合數據量小、要求實時傳輸的緩衝區傳遞,如控制指令等; (2)、TransBufferEx適合數據量大、對實時性要求不高的需求; 第 38 頁 共 51 頁 AnyChat for Android SDK 開發手冊 佰銳科技 版權全部 4.5.6. 傳送文件 int TransFile(int userid, String filepath, int wparam, int lparam, int flags);; 功能:傳送文件給指定用戶 返回值:>0表示任務ID號(可利用該ID查詢該任務的傳輸進度),不然表示出錯。 參數: userid: 目標用戶編號,只針對某一個用戶,不能爲-1(全部人) filepath: 本地文件名,含路徑 wParam: 附帶參數1,便於上層應用擴展 lParam: 附帶參數2 dwFlags: 特殊功能標誌,參考:「TransBufferEx」方法 備註: 該方法傳輸效率與「TransBufferEx」方法相同,只是在SDK內部封裝了文件的分組傳輸功能,實現對上層應用的透明,簡化上層應用的開發難度。 4.5.7. 查詢傳輸任務相關信息 INT QueryTransTaskInfo(INT Userid, INT TaskId, int infoname, char FAR* infoval, int infolen) 功能:查詢與傳輸任務相關的信息,如傳輸進度、傳輸狀態、傳輸碼率等 返回值:0表示查詢成功,不然爲出錯代碼 參數: dwUserid: 任務發起者用戶編號(並不是傳輸目標用戶編號) dwTaskId: 須要查詢的任務編號 infoname 須要查詢的信息代碼(見備註附表) infoval 查詢信息值的保存參數地址 infolen 保存查詢信息值參數類型所佔內存大小 備註: 經過調用該方法,能夠查詢指定傳輸任務編號的緩衝區傳輸狀況。用戶編號 第 39 頁 共 51 頁 AnyChat for Android SDK 開發手冊 佰銳科技 版權全部 與任務編號組合才具備惟一性,不一樣的用戶可能存在相同的任務編號。 目前提供的查詢的信息代碼見下表: 信息代碼定義 參數類型 用途 備註 TRANSTASK_PROGRESS DOUBLE 傳輸任務進度查詢 0.0 ~ 100.0 TRANSTASK_BITRATE INT 傳輸任務當前碼率 單位:bps 傳輸任務當前狀態: 1 準備狀態 2 傳輸狀態 3 完成狀態 4 任務被髮送者取消 TRANSTASK_STATUS INT 5 任務被接收方取消 4.5.8. 激活(關閉)SDK調用日誌 INT ActiveCallLog(BOOLEAN bActive); 功能:打開,或是關閉SDK調用期間所產生的日誌 返回值:0表示成功,不然爲出錯代碼 參數: bActive: 是否打開日誌功能 備註: 經過調用該方法,能夠記錄應用程序調用該SDK的方法順序及參數,對於分析利用該SDK進行開發所產生的異常現象有必定的幫助,建議在開發過程當中打開該選項,在發佈的版本中關閉該選項,所產生的日誌文件名爲:BRAnyChatCore.log,與調用者程序在同一級目錄。 SDK默認已打開日誌記錄功能,該方法必須在SDK初始化以前調用。 4.5.9. 發送SDK Filter通訊數據 int SendSDKFilterData(byte[] buf, int len); 第 40 頁 共 51 頁 AnyChat for Android SDK 開發手冊 佰銳科技 版權全部 功能:向服務器發送SDK Filter通訊數據 返回值:0表示成功,不然爲出錯代碼 參數: buf: 緩衝區 len: 緩衝區的大小 備註: 服務器收到數據後,會將該緩衝區數據所有提交給SDK Filter,由SDK Filter來解析,該緩衝區的內容對於本SDK和服務器來講,都是透明的。
相關文章
相關標籤/搜索