OnAnyChatTransBuffer收不到透明通道数据事件的响应
//发送结束会诊的透传消息
private void sendCloseCommand() {
byte[] endTokenBytes = null;
try {
endTokenBytes = "close".getBytes("utf-8");
mAnychatSDK.TransBuffer(-1, endTokenBytes, endTokenBytes.length);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
// 收到透明通道数据事件
@Override
public void OnAnyChatTransBuffer(int dwUserid, byte[] lpBuf, int dwLen) {
Log.d("OnAnyChatTransBuffer", "OnAnyChatTransBuffer");
try {
String str = new String(lpBuf, 0, dwLen, "utf-8");
if ("close".equals(str)) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setCancelable(false);
builder.setTitle(R.string.title_dlg_finish_consu).setMessage(R.string.text_dlg_finish_consu)
.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
finish();
}
}).show();
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}发送是可以的,例如别人关闭了视频,我收不到这个响应,mAnychatSDK.SetTransDataEvent(this);也写了
“利用该通道,可以向当前房间内的任何用户传输上层应用自定义的数据。”别人关闭视频以后离开房间了吗? 本帖最后由 佰锐科技-邵光清 于 2016-10-22 10:58 编辑
您好,mAnychatSDK.TransBuffer(-1, endTokenBytes, endTokenBytes.length);-1是表示给房间内所有人发送透明通道信息,如果别人关闭了视频,已经离开了房间的话,他是收不到信息的;如果别人在房间外需要收到透明通道消息,那么TransBuffer需要传对方的id;
页:
[1]