设为首页收藏本站

AnyChat技术支持论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz

AnyChat视频呼叫业务逻辑详解

[复制链接]

5

主题

1269

帖子

3677

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3677
发表于 2013-10-12 11:51:16 | 显示全部楼层
您好。targetUserId是目标对象的用户id,比如说A呼叫B,那么A中回调中targetUserId就是B的userid。dwParam是房间号。A和B双方收到房间号后。进入共同的房间。需要在VideoActivity进入共同房间,然后打开自己和他人的音视频。
回复 支持 反对

使用道具 举报

0

主题

29

帖子

84

积分

注册会员

Rank: 2

积分
84
发表于 2013-10-12 12:08:47 | 显示全部楼层
廖斌 发表于 2013-10-12 11:51
您好。targetUserId是目标对象的用户id,比如说A呼叫B,那么A中回调中targetUserId就是B的userid。dwParam ...

通过打印targetUserId 的值,确为对方userid,但是无法接受到对方的视频和音频, 请您帮我分析一下, 问题在哪里?
回复 支持 反对

使用道具 举报

249

主题

2967

帖子

9070

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9070
发表于 2013-10-12 12:18:23 | 显示全部楼层
上层业务逻辑是需要主动调用:UserCameraControl()、UserSpeakControl(),打开本地的音频、视频,请求远程的音频、视频,才能正常工作的,视频呼叫流程只是一个业务逻辑,不会主动调用前面的api
回复 支持 反对

使用道具 举报

0

主题

29

帖子

84

积分

注册会员

Rank: 2

积分
84
发表于 2013-10-12 12:52:00 | 显示全部楼层
admin 发表于 2013-10-12 12:18
上层业务逻辑是需要主动调用:UserCameraControl()、UserSpeakControl(),打开本地的音频、视频,请求远程 ...

                anychat.UserCameraControl(userID, 1);
                anychat.UserSpeakControl(userID, 1);
                anychat.UserCameraControl(-1, 1);
                anychat.UserSpeakControl(-1, 1);       
以上方法在VideoActivity类中已调用, 且返回值均为0.
当A请求B B点击同意按钮时,服务器打印出以下日志, 请问和这个有关系吗?
OnUserLeaveRoomAction(dwUserId:-63 - dwRoomId:2)
OnUserLeaveRoomAction(dwUserId:-62 - dwRoomId:2)
回复 支持 反对

使用道具 举报

5

主题

1269

帖子

3677

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3677
发表于 2013-10-12 13:45:24 | 显示全部楼层
anychat.UserCameraControl(userID, 1);
                anychat.UserSpeakControl(userID, 1);
                anychat.UserCameraControl(-1, 1);
                anychat.UserSpeakControl(-1, 1);        
需要在进入房间成功之后调用才有效。呼叫成功之后,服务器分配了一个ROOMID,你进入了吗?
回复 支持 反对

使用道具 举报

0

主题

29

帖子

84

积分

注册会员

Rank: 2

积分
84
发表于 2013-10-12 14:13:38 | 显示全部楼层
廖斌 发表于 2013-10-12 13:45
anychat.UserCameraControl(userID, 1);
                anychat.UserSpeakControl(userID, 1);
       ...

在线人员列表中, 可以看到对方,是否表明已经进入房间了?
否则该如何判断?
回复 支持 反对

使用道具 举报

5

主题

1269

帖子

3677

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3677
发表于 2013-10-12 14:29:12 | 显示全部楼层
在线人员列表中是另外一个房间。比如说是2号。呼叫成功之后服务器会分配一个房间4。先离开2号房间,然后同时进入4号房间(我的代码描述有一个离开房间的操作,然后跳转到VideoActivity,你可以在进入服务器分配的房间成功之后再跳转到vidoactivity中。进入房间成功,会触发onAnyChatEnterRoom)
回复 支持 反对

使用道具 举报

0

主题

29

帖子

84

积分

注册会员

Rank: 2

积分
84
发表于 2013-10-12 15:16:34 | 显示全部楼层
廖斌 发表于 2013-10-12 14:29
在线人员列表中是另外一个房间。比如说是2号。呼叫成功之后服务器会分配一个房间4。先离开2号房间,然后同 ...

嗯 调试成功了,谢谢讲解.
回复 支持 反对

使用道具 举报

0

主题

29

帖子

84

积分

注册会员

Rank: 2

积分
84
发表于 2013-10-12 20:35:02 | 显示全部楼层
廖斌 发表于 2013-10-12 14:29
在线人员列表中是另外一个房间。比如说是2号。呼叫成功之后服务器会分配一个房间4。先离开2号房间,然后同 ...

您好.
现在出现了这样的问题:
当A呼叫B 成功进入房间后.
B可以接收到A的图像和声音
但是A却接收不到B的图像和声音,但是可以看到自己的图像.
anychat.GetCameraState(userID)的返回值是0
anychat.GetSpeakState(userID)的返回值也是0
根据文档说明应该是B的摄像头和和音频设备打开失败.
请问是什么问题?
谢谢
回复 支持 反对

使用道具 举报

249

主题

2967

帖子

9070

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
9070
发表于 2013-10-12 21:33:01 | 显示全部楼层
您好,在OnEnterRoom()事件和OnUserAtRoom()事件中都请求一下对方的音频、视频,在OnEnterRoom事件中打开本地的音频、视频,按上述流程操作便可解决您遇到的问题。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 17:46 , Processed in 0.141784 second(s), 20 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

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