设为首页收藏本站

AnyChat技术支持论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 7135|回复: 14

视频呼叫问题咨询

[复制链接]

1

主题

9

帖子

41

积分

新手上路

Rank: 1

积分
41
发表于 2016-7-5 15:03:35 | 显示全部楼层 |阅读模式
用java开发视频坐席,在发起area同步之后,java客户端报:
Exception in thread "Thread-4" java.lang.NoSuchMethodError: OnObjectEventNotifyCallBack
Exception in thread "Thread-5" java.lang.NoSuchMethodError: OnObjectEventNotifyCallBack
Exception in thread "Thread-6" java.lang.NoSuchMethodError: OnObjectEventNotifyCallBack


请问是没有实现那个event监听?
回复

使用道具 举报

发表于 2016-7-5 15:24:14 | 显示全部楼层
您好,实现AnyChatObjectEvent,也设置监听:SetObjectEvent。
回复 支持 反对

使用道具 举报

1

主题

9

帖子

41

积分

新手上路

Rank: 1

积分
41
 楼主| 发表于 2016-7-5 15:47:34 | 显示全部楼层
AnyChatCoreSDK.java 中有OnObjectEventNotifyCallBack 方法的啊,为啥还是找不到这个方法呢
回复 支持 反对

使用道具 举报

1

主题

9

帖子

41

积分

新手上路

Rank: 1

积分
41
 楼主| 发表于 2016-7-5 15:56:51 | 显示全部楼层
佰锐科技-邵光清 发表于 2016-7-5 15:24
您好,实现AnyChatObjectEvent,也设置监听:SetObjectEvent。

您好,我是用demo中的java代码,稍微增加了一些东西,想做个视频呼叫的实例。
现在发现:
AnyChatCoreSDK.java 中有OnObjectEventNotifyCallBack 方法的。像您说的AnyChatObjectEvent也有具体实现,并且给AnyChatCoreSDK也设置了SetObjectEvent。
回复 支持 反对

使用道具 举报

发表于 2016-7-5 17:06:26 | 显示全部楼层
国槐木 发表于 2016-7-5 15:56
您好,我是用demo中的java代码,稍微增加了一些东西,想做个视频呼叫的实例。
现在发现:
AnyChatCoreS ...

您好,如果只是呼叫功能,并不用做业务对象设置的;是否用到排队功能呢?
另外,Anychat业务服务器是否启动了?
回复 支持 反对

使用道具 举报

1

主题

9

帖子

41

积分

新手上路

Rank: 1

积分
41
 楼主| 发表于 2016-7-5 19:23:09 | 显示全部楼层
佰锐科技-邵光清 发表于 2016-7-5 17:06
您好,如果只是呼叫功能,并不用做业务对象设置的;是否用到排队功能呢?
另外,Anychat业务服务器是否 ...

您好,我的问题出现了变化,找不到OnObjectEventNotifyCallBack方法的错误消失了。
我的测试时这样的:在pc上启动的anychatcoreserver,在把sampleserver也启动起来(这个里面创建了服务区,队列等),我在AnyChatDemoForJava例子中的,添加了anychat.ObjectControl(AnyChatObjectDefine.ANYCHAT_OBJECT_TYPE_AREA, 10001, AnyChatObjectDefine.ANYCHAT_OBJECT_CTRL_SYNCDATA, dwUserId, 0, 0, 0, "");
想着读取下服务区10001的信息,开发指南上说,会有ANYCHAT_OBJECT_EVENT_UPDATE事件触发,可是我看我AnyChatDemoForJava中的AnyChatCoreSDK.OnObjectEventNotifyCallBack()方法并没有收到事件。

请问老师这是怎么回事,谢谢!
回复 支持 反对

使用道具 举报

1

主题

9

帖子

41

积分

新手上路

Rank: 1

积分
41
 楼主| 发表于 2016-7-5 19:26:46 | 显示全部楼层
佰锐科技-邵光清 发表于 2016-7-5 17:06
您好,如果只是呼叫功能,并不用做业务对象设置的;是否用到排队功能呢?
另外,Anychat业务服务器是否 ...

补充一点,我本地的AnyChatDemoForJava,同一房间多用户之间文字消息收发正常。
回复 支持 反对

使用道具 举报

发表于 2016-7-5 23:17:10 | 显示全部楼层
您好,1、客户端登录成功,触发登录成功回调事件(OnAnyChatLoginSystem)之后,向服务器发送请求同步营业厅数据:
  1. AnyChatCoreSDK.ObjectControl(AnyChatObjectDefine.ANYCHAT_OBJECT_TYPE_AREA, AnyChatObjectDefine.ANYCHAT_INVALID_OBJECT_ID, AnyChatObjectDefine.ANYCHAT_OBJECT_CTRL_SYNCDATA, dwUserId, 0, 0, 0, "");       
复制代码
您的同步请求指令第二参数是否有问题?
2、服务器收到客户端的请求之后,就向客户端发送营业厅数据,触发客户端以下异步事件:
  1. @Override
  2.         public void OnAnyChatObjectEvent(int dwObjectType, int dwObjectId,
  3.                         int dwEventType, int dwParam1, int dwParam2, int dwParam3,
  4.                         int dwParam4, String strParam) {
  5.                 // TODO Auto-generated method stub
  6.                 switch(dwEventType) {
  7.                
  8.                 //营业厅数据同步,回调一次返回一个营业厅对象id(有多少营业厅回调多少次)
  9.                 case AnyChatObjectDefine.ANYCHAT_OBJECT_EVENT_UPDATE:
  10.                                 //装入集合
  11.                                 mobject.add(dwObjectId);
  12.                        
  13.                         break;       
  14.                
  15.                 //进入营业厅结果回调
  16.                 case AnyChatObjectDefine.ANYCHAT_AREA_EVENT_ENTERRESULT:       
  17.                        
  18.                         AnyChatEnterAreaResult(dwObjectType, dwObjectId, dwParam1);                               
  19.                         break;       
  20.                 //数据同步完成回调
  21.                 case AnyChatObjectDefine.ANYCHAT_OBJECT_EVENT_SYNCDATAFINISH:       
  22.                        
  23.                         DataFinshed(dwObjectType);                       
  24.                         break;
  25.                 }
  26.         }
复制代码
参考:2015-07-08 AnyChat提供业务排队整体解决方案
          AnyChatQueue示例工程如何自动进入营业厅以及队列?
回复 支持 反对

使用道具 举报

1

主题

9

帖子

41

积分

新手上路

Rank: 1

积分
41
 楼主| 发表于 2016-7-6 09:50:21 | 显示全部楼层
佰锐科技-邵光清 发表于 2016-7-5 23:17
您好,1、客户端登录成功,触发登录成功回调事件(OnAnyChatLoginSystem)之后,向服务器发送请求同步营业 ...

老师您好!
1、客户端向服务器请求同步营业厅数据的调用办法:
AnyChatCoreSDK.ObjectControl(AnyChatObjectDefine.ANYCHAT_OBJECT_TYPE_AREA, AnyChatObjectDefine.ANYCHAT_INVALID_OBJECT_ID, AnyChatObjectDefine.ANYCHAT_OBJECT_CTRL_SYNCDATA, dwUserId, 0, 0, 0, "");  
第二个参数,我尝试了各种,情况分别如下:
a、如果用AnyChatObjectDefine.ANYCHAT_INVALID_OBJECT_ID,报java.lang.NoSuchMethodError: OnObjectEventNotifyCallBack。
b、如果用10001或其他值,客户端没有任何错误。(猜想可能就没有触发客户端的事件)

思考:是不是非AnyChatObjectDefine.ANYCHAT_INVALID_OBJECT_ID,都没有触发OnObjectEventNotifyCallBack的。还是我的OnObjectEventNotifyCallBack监听接口定义不对。

OnObjectEventNotifyCallBack 这个接口我并没有重写,在原demo中的AnyChatCoreSDK类中有定义,直接调用了AnyChatCoreSDK.this.objectEvent.OnAnyChatObjectEvent(dwObjectType, dwObjectId, dwEventType, dwParam1, dwParam2, dwParam3, dwParam4, lpStrParam);

回复 支持 反对

使用道具 举报

1

主题

9

帖子

41

积分

新手上路

Rank: 1

积分
41
 楼主| 发表于 2016-7-6 10:07:36 | 显示全部楼层
佰锐科技-邵光清 发表于 2016-7-5 23:17
您好,1、客户端登录成功,触发登录成功回调事件(OnAnyChatLoginSystem)之后,向服务器发送请求同步营业 ...

刚刚,我又测试了一下。看到工程下有个log文件-BRAnyChatCore.log,打开之后,当使用参数 AnyChatObjectDefine.ANYCHAT_INVALID_OBJECT_ID时,日志如下:
[2016-07-06 10:02:40(129)]        ---------------------------AnyChat Platform Core SDK Client Log---------------------------
[2016-07-06 10:02:40(130)]        Load BRAnyChatCore.dll success!(V6.1 Build Time:Jun 30 2016 14:51:57)
[2016-07-06 10:02:40(132)]        Load BRMiscUtil.dll success!(V6.1 Build Time:Jun 30 2016 14:54:40)
[2016-07-06 10:02:40(168)]        Load BRMediaUtil.dll success!(V6.1 Build Time:Jun 30 2016 14:50:59)
[2016-07-06 10:02:40(170)]        Load BRMediaShow.dll success!(V6.1 Build Time:Jun 30 2016 14:54:53)
[2016-07-06 10:02:40(174)]        Load BRMediaCore.dll success!(V6.1 Build Time:Jun 30 2016 14:55:11)
[2016-07-06 10:02:40(207)]        Audio capture device supported:
[2016-07-06 10:02:40(208)]                1-麦克风 (Realtek High Definition Au
[2016-07-06 10:02:42(377)]        Start network engine(IPv4 mode)...
[2016-07-06 10:02:42(380)]        Invoke        Connect(127.0.0.1,8906)=0
[2016-07-06 10:02:42(382)]        Invoke        Login(username:java)=0
[2016-07-06 10:02:42(454)]        Create anychatdnsserver connect:127.0.0.1(8906)
[2016-07-06 10:02:42(547)]        On pre-connection result, errorcode:0, anychatcoreserver, 127.0.0.1(8906, tcp:1)
[2016-07-06 10:02:42(559)]        CheckClientSocketLink         Connect(ip=127.0.0.1,port=8906)
[2016-07-06 10:02:42(701)]        Server version: V6.1(Build Time:2016-06-30 14:55:59, Windows server)
[2016-07-06 10:02:42(716)]        Message        OnConnect(bSuccess:1, errorcode=0)
[2016-07-06 10:02:42(787)]        Message        OnLoginSystem(userid=-13,errorcode=0,username=java), msg deliver worked(0)
[2016-07-06 10:02:42(789)]        Server running time: 0 days, 0 hours, 48 minutes, license mode:0
[2016-07-06 10:02:42(832)]        Connection to streaming media server successfully!(udp delay:15ms)
[2016-07-06 10:02:42(844)]        Area(10002) Object Event, unknow event:2, dwParam1:-13

当使用其他参数时日志如下:
[2016-07-06 10:01:32(858)]        ---------------------------AnyChat Platform Core SDK Client Log---------------------------
[2016-07-06 10:01:32(859)]        Load BRAnyChatCore.dll success!(V6.1 Build Time:Jun 30 2016 14:51:57)
[2016-07-06 10:01:32(861)]        Load BRMiscUtil.dll success!(V6.1 Build Time:Jun 30 2016 14:54:40)
[2016-07-06 10:01:32(899)]        Load BRMediaUtil.dll success!(V6.1 Build Time:Jun 30 2016 14:50:59)
[2016-07-06 10:01:32(901)]        Load BRMediaShow.dll success!(V6.1 Build Time:Jun 30 2016 14:54:53)
[2016-07-06 10:01:32(906)]        Load BRMediaCore.dll success!(V6.1 Build Time:Jun 30 2016 14:55:11)
[2016-07-06 10:01:32(942)]        Audio capture device supported:
[2016-07-06 10:01:32(943)]                1-麦克风 (Realtek High Definition Au
[2016-07-06 10:01:34(962)]        Start network engine(IPv4 mode)...
[2016-07-06 10:01:34(964)]        Invoke        Connect(127.0.0.1,8906)=0
[2016-07-06 10:01:34(966)]        Invoke        Login(username:java)=0
[2016-07-06 10:01:35(074)]        Create anychatdnsserver connect:127.0.0.1(8906)
[2016-07-06 10:01:35(166)]        On pre-connection result, errorcode:0, anychatcoreserver, 127.0.0.1(8906, tcp:1)
[2016-07-06 10:01:35(178)]        CheckClientSocketLink         Connect(ip=127.0.0.1,port=8906)
[2016-07-06 10:01:35(330)]        Server version: V6.1(Build Time:2016-06-30 14:55:59, Windows server)
[2016-07-06 10:01:35(344)]        Message        OnConnect(bSuccess:1, errorcode=0)
[2016-07-06 10:01:35(366)]        Message        OnLoginSystem(userid=-12,errorcode=0,username=java), msg deliver worked(0)
[2016-07-06 10:01:35(368)]        Server running time: 0 days, 0 hours, 47 minutes, license mode:0
[2016-07-06 10:01:35(411)]        Connection to streaming media server successfully!(udp delay:23ms)

两个日志的区别在于,第一个日志多了最后一行内容。看起来像是无法识别的event。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|AnyChat ( 粤ICP备13022410号-1 )  

GMT+8, 2024-3-30 13:14 , Processed in 0.149983 second(s), 22 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表