0

我正在尝试使用 opentok webrtc 在两个 iOS 设备(均为 iOS 版本 7.0.4)之间创建视频会话。两个设备与发布者共享相同的 api 密钥和会话 ID 以及不同的令牌。我能够成功建立会话,因为我可以在一台设备上看到订阅者视频和发布者视频;但我无法从其他设备看到视频并收到错误消息“错误域=OTSubscriberErrorDomain Code=1542”尝试订阅流时超时。” UserInfo=0x15984e40 {NSLocalizedDescription=尝试订阅时超时溪流。}”

简而言之,我想创建一个视频会话,两个设备也能够看到彼此的视频流,由于这个错误,在这种情况下不会发生这种情况。

这里要注意的一点是,相同的代码以前可以正常工作,但现在不行(没有任何代码更改)。

有人可以帮忙吗??

4

3 回答 3

0

只是为了确保最简单的事情不会发生在任何人身上,请确保如果您使用 TOKBOX 的某些示例类,您已经更改了值

静态布尔 subscribeToSelf

否,如果您想订阅其他人的流。

如果您将其保留为“是”,它会尝试订阅您发布的流,但令牌不正确,因此它会超时。

于 2015-11-26T12:04:17.433 回答
0

您看到的错误消息表明第二台设备存在网络连接问题。这不应该经常发生,但会在网络薄弱或不稳定的情况下发生。您应该通过在 UI 中向用户显示正确的信息来处理此错误,很可能是“网络连接问题。请稍后再试”。

于 2015-08-10T18:25:45.477 回答
0

以下是逐步为我解决的调整。

1)设置->开发者->状态中有一个选项。如果其“启用”将其关闭或更改为所需的设置。此外,正如“Ankur”所说,请与您的网络管理员(如果有的话)核实他是否添加了一些限制。

2)检查您创建的订阅者对象以在- (void)subscriberDidConnectToStream:(OTSubscriberKit*)subscriber调用后连接到流。放入subscriber.view一个简单的 UIViewController 的视图以查看视频是否正确接收。

最后要检查的是您是否为每个设备使用单独的令牌(从仪表板生成)。

干杯和好运。

编辑:

对于多方,避免超时问题的解决方案/最佳方法是:

由于设备资源有限,因此尽量不要订阅该房间中存在的所有各方视频源。制作一个像环聊应用一样的列表。使其可切换到其他订阅源,并且当您切换到除在列表中被点击的视频之外的所有其他订阅的视频时(有些类似于此列表示例,您可以根据您的应用要求进行计划)。

此外,重要的是,您根据房间要求生成适当的令牌,即为两个用户中继并为多方路由。确保正确生成它们以及它们的“角色”。

于 2015-08-25T11:41:34.523 回答