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和服务器来讲,都是透明的。
相关文章
相关标签/搜索