lh602499774
发表于 2016-3-29 12:50:18
佰锐科技-邵光清 发表于 2016-3-29 11:54
您好,VideoCallControl可以在登录成功之后调用,也可以在进入房间之后调用,前提是先获取到对方的userid ...
这里同时还需要一个.so文件 哪里能下载到呢
lh602499774
发表于 2016-3-29 13:52:43
anychat.VideoCallControl(AnyChatDefine.BRAC_VIDEOCALL_EVENT_REQUEST, useridB, 0, 0,0, "usernameA"),这个useridB我想在双方都不进入房间,只是登录成功后获得,还有个问题就是为什么每次登录成功OnAnyChatLoginMessage(int dwUserId, int dwErrorCode)自己的id为什么会一直变化?如果这样我怎样获得对方id呢?
那么String QueryInfoFromServer(int dwInfoName, String strInParam, int dwFlags);这三个参数分别要填什么呢?我想通过昵称查询AnyChatDefine.ANYCHAT_SERVERQUERY_USERIDBYNAME,一个是昵称 那另外的一个应该填写什么呢?还有就是调用这个方法缺少一个so文件,像我这种情况怎么解决的呢
admin
发表于 2016-3-29 14:00:50
还有个问题就是为什么每次登录成功OnAnyChatLoginMessage(int dwUserId, int dwErrorCode)自己的id为什么会一直变化?
请参考:有关AnyChat平台用户身份验证与第三方平台集成的问题
使用API:QueryInfoFromServer,请更新网上最新版本的SDK包:http://sdk.anychat.cn/html/download.html
第三个参数填0即可。
lh602499774
发表于 2016-3-29 14:40:41
admin 发表于 2016-3-29 14:00
请参考:有关AnyChat平台用户身份验证与第三方平台集成的问题
使用API:QueryInfoFromServer,请更新 ...
OK了 恩 回答的就是我想问的 谢谢了
zhkmxx930
发表于 2016-5-1 11:07:13
您好,为什么我在由A向B发送请求之后,日志返回的是
Invoke VideoCallControl(EventType:1, UserId:-5244, ErrorCode:0, dwFlags:0, dwParam:0, UserStr:zhkmxx930@door)=0
Message OnVideoCallEvent(EventType:2, UserId:-5244, ErrorCode:100103, dwFlags:0x0, dwParam:0
然后接收方那边日志是
Message OnVideoCallEvent(EventType:1, UserId:-5245, ErrorCode:0, dwFlags:0x0, dwParam:0
然后我的 OnAnyChatVideoCallEvent 这个回调函数没有执行。
这里我将我的请求端的代码贴一下,您看下谢谢:public class MainActivity extends AppCompatActivity implements AnyChatVideoCallEvent {
private AnyChatCoreSDK anyChatCoreSDK = null;
private SurfaceView mSurfaceLocal = null;
private EditText et_remoteId = null;
private Button btn_remote = null;
private int userId = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
InitLayout();
InitSDK();
GetLocalVideo();
ConnectServer();
btn_remote.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//在输入框中输入的远程用户ID
userId = Integer.parseInt(et_remoteId.getText().toString());
// GetRemoteVideo();
anyChatCoreSDK.VideoCallControl(AnyChatDefine.BRAC_VIDEOCALL_EVENT_REQUEST, userId, 0, 0, 0, "zhkmxx930@door");
}
});
}
private void InitLayout(){
mSurfaceLocal = (SurfaceView) findViewById(R.id.surfaceView_local);
et_remoteId = (EditText) findViewById(R.id.et_remoteId);
btn_remote = (Button) findViewById(R.id.btn_remote);
}
private void InitSDK(){
anyChatCoreSDK = new AnyChatCoreSDK();
anyChatCoreSDK.InitSDK(Build.VERSION.SDK_INT, 0);
anyChatCoreSDK.SetVideoCallEvent(this);
}
private void ConnectServer(){
anyChatCoreSDK.Connect("demo.anychat.cn", 8906);
anyChatCoreSDK.Login("zhkmxx930@door", "");
anyChatCoreSDK.EnterRoom(1, "");
anyChatCoreSDK.UserCameraControl(-1,1);
anyChatCoreSDK.UserSpeakControl(-1,1);
}
// private void GetRemoteVideo(){
// int index = anyChatCoreSDK.mVideoHelper.bindVideo(mSurfaceLocal.getHolder());
// anyChatCoreSDK.mVideoHelper.SetVideoUser(index,userId);
// anyChatCoreSDK.UserCameraControl(userId, 1);
// anyChatCoreSDK.UserSpeakControl(userId, 1);
// }
private void GetLocalVideo(){
anyChatCoreSDK.mSensorHelper.InitSensor(this);
AnyChatCoreSDK.mCameraHelper.SetContext(this);
mSurfaceLocal.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
mSurfaceLocal.getHolder().addCallback(AnyChatCoreSDK.mCameraHelper);
}
@Override
public void OnAnyChatVideoCallEvent(int dwEventType, int dwUserId, int dwErrorCode, int dwFlags, int dwParam, String userStr) {
System.out.println("===0===");
switch (dwEventType){
case AnyChatDefine.BRAC_VIDEOCALL_EVENT_REPLY:
System.out.println("回复收到");
switch (dwErrorCode){
case AnyChatDefine.BRAC_ERRORCODE_SUCCESS:
System.out.println("呼叫成功");
Toast.makeText(this,"呼叫成功",Toast.LENGTH_LONG).show();
break;
case AnyChatDefine.BRAC_ERRORCODE_SESSION_BUSY:
System.out.println("目标用户忙");
Toast.makeText(this,"目标用户忙",Toast.LENGTH_LONG).show();
break;
case AnyChatDefine.BRAC_ERRORCODE_SESSION_DISCONNECT:
System.out.println("网络断线");
Toast.makeText(this,"网络断线",Toast.LENGTH_LONG).show();
break;
case AnyChatDefine.BRAC_ERRORCODE_SESSION_OFFLINE:
System.out.println("目标用户不在线");
Toast.makeText(this,"目标用户不在线",Toast.LENGTH_LONG).show();
break;
case AnyChatDefine.BRAC_ERRORCODE_SESSION_REFUSE:
System.out.println("目标用户拒绝会话");
Toast.makeText(this,"目标用户拒绝会话",Toast.LENGTH_LONG).show();
break;
case AnyChatDefine.BRAC_ERRORCODE_SESSION_TIMEOUT:
System.out.println("会话请求超时");
Toast.makeText(this,"会话请求超时",Toast.LENGTH_LONG).show();
break;
case AnyChatDefine.BRAC_ERRORCODE_SESSION_QUIT:
System.out.println("源用户主动放弃会话");
Toast.makeText(this,"源用户主动放弃会话",Toast.LENGTH_LONG).show();
break;
}
break;
case AnyChatDefine.BRAC_VIDEOCALL_EVENT_START:
System.out.println("开始通信");
Toast.makeText(this,"开始通信",Toast.LENGTH_LONG).show();
break;
case AnyChatDefine.BRAC_VIDEOCALL_EVENT_REQUEST:
System.out.println("收到请求");
}
}
}
admin
发表于 2016-5-2 14:08:25
OnVideoCallEvent(EventType:2, UserId:-5244, ErrorCode:100103, dwFlags:0x0, dwParam:0)
您好,ErrorCode:100103表示目标用户忙,对方还在通话中?
baoxp
发表于 2016-12-28 10:55:23
下面是我的代码我的问题是对方不显示我这边的画面和声音
public class CallActivity extends Activity implements AnyChatBaseEvent,AnyChatVideoCallEvent{
private SurfaceView mSurfaceLocal;
private SurfaceView mSurfaceRemote;
int userid=18757;
// 新建核心类对象
AnyChatCoreSDK anychat = new AnyChatCoreSDK();
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ideo);
mSurfaceLocal=(SurfaceView) findViewById(R.id.surfaceview_local);
mSurfaceRemote=(SurfaceView) findViewById(R.id.surfaceview_remote);
anychat.SetBaseEvent(this);
anychat.SetVideoCallEvent(this);
anychat.InitSDK(android.os.Build.VERSION.SDK_INT, 0);
initVideo();
//startVideo();
}
// 置必要的音视频参数
private void initVideo() {
// 连接服务器
anychat.Connect("demo.anychat.cn", 8906);
//登录服务器
anychat.Login("电梯一", "123");
// 设置本地视频采集随着设备而旋转而处理
AnyChatCoreSDK.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_AUTOROTATION, 1);
//摄像头硬件初始化 启动anychat传感器监听
anychat.mSensorHelper.InitSensor(this);
//初始化camera
AnyChatCoreSDK.mCameraHelper.SetContext(this);
//打开本地视频, 第一个参数用-1表示本地,也可以用本地的真实 userid
anychat.UserCameraControl(-1, 1);
//打开本地音频
anychat.UserSpeakControl(-1, 1);
//设置surface_tyoe_push_buffers
mSurfaceLocal.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
mSurfaceLocal.getHolder().addCallback(AnyChatCoreSDK.mCameraHelper);
}
//开始远程音视频
private void startVideo() {
}
@Override
public void OnAnyChatConnectMessage(boolean bSuccess) {
// TODO Auto-generated method stub
Log.e("videocall","连接服务器");
}
@Override
public void OnAnyChatLoginMessage(int dwUserId, int dwErrorCode) {
// TODO Auto-generated method stub
Log.e("videocall","登陆成功");
//发起请求
anychat.VideoCallControl(AnyChatDefine.BRAC_VIDEOCALL_EVENT_REQUEST, userid, 0, 0,0, "电梯一");
}
//进入房间触发,dwRoomId为房间号,dwErrorCode==0表示进入房间成功,其他值为进入 房间 失败的错误代码
@Override
public void OnAnyChatEnterRoomMessage(int dwRoomId, int dwErrorCode) {
// TODO Auto-generated method stub
Log.e("videocall","进入房间"+dwRoomId+dwErrorCode);
// mRemoteUserid为通话目标对象的userId;
int index = anychat.mVideoHelper.bindVideo(mSurfaceRemote.getHolder());
anychat.mVideoHelper.SetVideoUser(index, userid);
anychat.UserCameraControl(userid, 1);
anychat.UserSpeakControl(userid, 1);
}
// 当前房间在线用户消息,进入房间成功后调用一次。dwUserNum当前房间总人数(包含自己)
@Override
public void OnAnyChatOnlineUserMessage(int dwUserNum, int dwRoomId) {
// TODO Auto-generated method stub
}
// 当前房间用户离开或者进入房间触发这个回调,dwUserId用户 id," bEnter==true"表示进入 房间,反之表示离开房间
@Override
public void OnAnyChatUserAtRoomMessage(int dwUserId, boolean bEnter) {
// TODO Auto-generated method stub
}
@Override
public void OnAnyChatLinkCloseMessage(int dwErrorCode) {
// TODO Auto-generated method stub
}
@Override
public void OnAnyChatVideoCallEvent(int dwEventType, int dwUserId,
int dwErrorCode, int dwFlags, int dwParam, String userStr) {
// TODO Auto-generated method stub
Log.e("videocall","callevent"+dwEventType+dwParam);
Log.e("videocall","callevent"+dwParam);
switch(dwEventType)
{
case AnyChatDefine.BRAC_VIDEOCALL_EVENT_START:
Log.e("videocall","开始");
anychat.EnterRoom(dwParam,"");
break;
}
}
}
佰锐科技-刘洋
发表于 2016-12-28 11:12:45
baoxp 发表于 2016-12-28 10:55
下面是我的代码我的问题是对方不显示我这边的画面和声音
public class CallActivity extends Activity...
你好 请发一下日志信息 日志在插件安装目录下 插件默认安装在C盘 C:\Program Files (x86)\AnyChatWeb 下的BRAnyChatCore.log
baoxp
发表于 2016-12-28 11:33:40
佰锐科技-刘洋 发表于 2016-12-28 11:12
你好 请发一下日志信息 日志在插件安装目录下 插件默认安装在C盘 C:\Program Files (x86)\AnyChatWeb 下 ...
我是安卓开发的
佰锐科技-刘洋
发表于 2016-12-28 11:37:38
baoxp 发表于 2016-12-28 11:33
我是安卓开发的
安卓日志信息在cdcard里面BRAnyChatCore.log
页:
1
2
3
4
5
6
7
8
9
[10]
11