1

我有一个视频聊天要求,其中我必须通过视频聊天连接 2 个(有些相关的)用户。我没有找到必要的 API 调用,因此问题。

我基本上遵循本教程,但它似乎没有我需要的一切。我不需要明确的“调用此用户”之类的功能。用户永远不会看到整个用户列表。

结果,我想知道我是否可以让 X 数量的用户呼叫,而另外 X 数量的用户等待接受该呼叫。

总结一下:

我只想根据某些特征(例如他们的注册标签)连接用户。对于任何用户 A,可能有多个用户具有与 A 相似的标签 - 所以他们都是用户 A 的潜在视频聊天用户。

我需要选择其中一个(随机可能有效)并在其中流式传输 A 的视频/音频。

我必须做什么?这是部分列表,但我不知道我最后是对的。

1 - 呼叫[QBAuth createSessionWithDelegate:self]

2 - 从生成的会话中,调用[QBUsers logInWithUserLogin]

3 - 从生成的会话中,调用[[QBChat instance] loginWithUser:user]

4 - 从生成的chatDidLogin委托中调用什么?

它应该进入某个聊天室,还是使用一些代码chatRoomDidChangeOnlineUsers?我不知道。

请帮助我完成所需的最少调用顺序,简而言之,修改上面的 1-2-3-4。

更新无法发起呼叫的原因:

这是因为聊天是非自愿的,通话可能会发生冲突。如果我使用calluserapi,每个人最终都会调用。等待接听电话也是如此。我想不出一个公平的策略,其中系统不会因呼叫请求而不堪重负,或者由于每个人都在等待而保持沉默。

换句话说,我支持这样的解决方案,其中每个用户都可以选择一个随机的人来呼叫,但不介意其他人是否呼叫他,并且他应该能够优雅地处理它。

4

1 回答 1

0

首先,您应该注册新用户并向他发送一些标签。为此,您必须:

1) 创建会话

[QBAuth createSessionWithDelegate:self]

2)注册新用户并为他设置一些标签:

 QBUUser *user = [QBUUser user];
 user.login = @"someuser";
 user.password = @"somepass";
 user.tags = @[@"Tag1"];

3)创建更多具有相同标签的用户

接下来,为了与某个用户通话,您必须随机获取它。这是获取具有特定标签的所有用户的请求:

[QBUsers usersWithTags:@[@"Tag1"] delegate:self];

您将获得所有具有此标签的用户。下一步 - 随机选择其中一个

最后,与该用户进行视频通话

使用用户示例了解如何使用用户模块http://quickblox.com/developers/SimpleSample-users-ios

顺便说一句:QuickBlox 发布了带有新块 API 的 SDK 2.0 - 你可以试试http://quickblox.com/developers/IOS#iOS_SDK_Transition_guide_from_version_1.9_to_2.0

于 2014-09-01T14:51:57.297 回答