接 Android移动端音视频的快速开发教程(四)
3.3.
数据传输事件接口 3.3.1. 接口定义 package com.bairuitech.anychat; // 数据传输通知接口 public interface AnyChatTransDataEvent { public void OnAnyChatTransFile(int dwUserid, String FileName, String TempFilePath, int dwFileLength, int wParam, int lParam, int dwTaskId); 第 18 页 共 51 页 AnyChat for Android SDK 开发手册 佰锐科技 版权所有 public void OnAnyChatTransBuffer(int dwUserid, byte[] lpBuf, int dwLen); public void OnAnyChatTransBufferEx(int dwUserid, byte[] lpBuf, int dwLen, int wparam, int lparam, int taskid); public void OnAnyChatSDKFilterData(byte[] lpBuf, int dwLen); } 3.3.2. 收到文件传输数据事件 public void OnAnyChatTransFile(int dwUserid, String FileName, String TempFilePath, int dwFileLength, int wParam, int lParam, int dwTaskId); 参数: dwUserid: 用户ID,指示发送用户 FileName: 文件名(含扩展名,不含路径) TempFilePath: 接收完成后,SDK保存在本地的临时文件(包含完整路径) dwFileLength: 文件总长度 wParam: 附带参数1 lParam: 附带参数2 dwTaskId: 该文件所对应的任务编号 说明: 当收到其它用户使用“TransFile”方法发送的文件时,将会触发该接口,等同于回调函数:BRAC_TransFile_CallBack。 特别提示:本SDK不会删除“lpTempFilePath”所指示的临时文件,上层应用在处理完毕后,需要主动删除该临时文件。 3.3.3. 收到透明通道数据事件 public void OnAnyChatTransBuffer(int dwUserid, byte[] lpBuf, int dwLen); 参数: dwUserid: 用户ID,指示发送用户 lpBuf: 缓冲区地址 dwLen: 缓冲区大小 说明: 第 19 页 共 51 页 AnyChat for Android SDK 开发手册 佰锐科技 版权所有 当收到其它用户使用“TransBuffer””方法发送的缓冲区数据时,将会触发该接口,等同于回调函数:BRAC_TransBuffer_CallBack。 由于该函数传递的数据是一个与本SDK无关的缓冲区(由上层应用自己填充内容),相对于本SDK来说是透明的,故称为透明通道,利用该通道,可以向当前房间内的任何用户传输上层应用自定义的数据。 3.3.4. 收到扩展透明通道数据事件 public void OnAnyChatTransBufferEx(int dwUserid, byte[] lpBuf, int dwLen, int wparam, int lparam, int taskid); 参数: dwUserid: 用户ID,指示发送用户 lpBuf: 缓冲区地址 dwLen: 缓冲区大小 wParam: 缓冲区附带参数(由发送者设置,上层应用可自定义用途) lParam: 缓冲区附带参数2 dwTaskId: 该缓冲区所对应的传输任务编号 说明: 当收到其它用户使用“TransBufferEx”方法发送的缓冲区数据时,将会触发该接口,等同于回调函数:BRAC_TransBufferEx_CallBack。 3.3.5. 收到SDK Filter数据事件 public void OnAnyChatSDKFilterData(byte[] lpBuf, int dwLen); 参数: lpBuf: 缓冲区地址 dwLen: 缓冲区大小 说明: 当收到服务器“SDK Filter”或是“Server SDK”相关接口发送的缓冲区数据时,将会触发该接口,等同于回调函数:BRAC_SDKFilterData_CallBack。 3.4. 文字消息事件接口 3.4.1. 接口定义 package com.bairuitech.anychat; // 文字聊天通知接口 public interface AnyChatTextMsgEvent { public void OnAnyChatTextMessage(int dwFromUserid, int dwToUserid, int bSecret, String message); } 3.4.2. 收到文字聊天消息事件 public void OnAnyChatTextMessage(int dwFromUserid, int dwToUserid, boolean bSecret, String message); 参数: dwFromUserid 消息发送者用户ID dwToUserid 目标用户,-1表示发送给大家,即房间所有人 bSecret 是否为悄悄话,当目标用户不为-1时有效 message 消息字符串 说明:当进入房间成功之后,收到其他用户发送的文字聊天信息时将触发该接口,等同于WIN32平台的回调函数:BRAC_TextMessage_CallBack。本地用户向其它用户发送文字消息时,将不会触发该接口。 3.5. 私聊控制事件接口 3.5.1. 接口定义 package com.bairuitech.anychat; // AnyChat私聊消息通知接口 public interface AnyChatPrivateChatEvent { public void OnAnyChatPrivateRequestMessage(int dwUserId, int dwRequestId); 第 21 页 共 51 页 AnyChat for Android SDK 开发手册 佰锐科技 版权所有 public void OnAnyChatPrivateEchoMessage(int dwUserId, int dwErrorCode); public void OnAnyChatPrivateExitMessage(int dwUserId, int dwErrorCode); } 3.5.2. 用户私聊请求事件 public void OnAnyChatPrivateRequestMessage(int dwUserId, int dwRequestId) 参数: dwUserId 表示发起者的用户ID号,私聊请求者 dwRequestId 表示私聊请求编号,标识该请求 说明:当进入房间成功之后,当用户发起私聊请求时,在被请求者端将触发该接口,等同于WIN32平台的WM_GV_PRIVATEREQUEST消息。 3.5.3. 用户私聊回复事件 public void OnAnyChatPrivateEchoMessage(int dwUserId, int dwErrorCode) 参数: dwUserId 表示回复者的用户ID号 dwErrorCode 返回代码,表示对方是否同意自己的邀请 说明:当进入房间成功之后,当用户发起私聊请求时,其它用户回复该请求时将触发该接口,等同于WIN32平台的WM_GV_PRIVATEECHO消息。 3.5.4. 用户私聊退出事件 public void OnAnyChatPrivateExitMessage(int dwUserId, int dwErrorCode) 参数: dwUserId 表示退出者的用户ID号 dwErrorCode 返回代码,表示退出私聊的原因 说明:当进入房间成功之后,在自己私聊列表中的用户退出,或网络连接断开时将触发该接口,等同于WIN32平台的WM_GV_PRIVATEEXIT消息。