Parse.com OpenTok集成错误

我正在使用本教程构建应用程序(使用parse.com和OpenTok)。 当我发起呼叫时,下面的委托方法 - 会话:(OTSession *)会话streamCreated:(OTStream *)流委托方法永远不会被调用。 我已经四处搜寻,似乎其他人有这个错误,但似乎没有人找到解决办法。

部署在解析服务器上的云代码模块似乎没有错误地执行正常,并且没有问题。 但是视频流永远不会被启动。

streamCreated方法如下所示:

-(void)session:(OTSession *)session streamCreated:(OTStream *)stream {
    NSLog(@"session: didReceiveStream:");
    NSLog(@"- connection.connectionId: %@", stream.connection.connectionId);
    NSLog(@"- connection.creationTime: %@", stream.connection.creationTime);
    NSLog(@"- session.sessionId: %@", stream.session.sessionId);
    NSLog(@"- streamId: %@", stream.streamId);
    NSLog(@"- creationTime %@", stream.creationTime);
    NSLog(@"- name %@", stream.name);
    NSLog(@"- hasAudio %@", (stream.hasAudio ? @"YES" : @"NO"));
    NSLog(@"- hasVideo %@", (stream.hasVideo ? @"YES" : @"NO"));
    if ( (subscribeToSelf && [stream.connection.connectionId isEqualToString: _session.connection.connectionId])
        ||
        (!subscribeToSelf && ![stream.connection.connectionId isEqualToString: _session.connection.connectionId])
        ) {
        if (!_subscriber) {
            _subscriber = [[OTSubscriber alloc] initWithStream:stream delegate:self];
            _subscriber.subscribeToAudio = self.bAudio;
            _subscriber.subscribeToVideo = self.bVideo;
        }
        NSLog(@"subscriber.session.sessionId: %@", _subscriber.session.sessionId);
        NSLog(@"- stream.streamId: %@", _subscriber.stream.streamId);
        NSLog(@"- subscribeToAudio %@", (_subscriber.subscribeToAudio ? @"YES" : @"NO"));
        NSLog(@"- subscribeToVideo %@", (_subscriber.subscribeToVideo ? @"YES" : @"NO"));
    }
}

有没有人有任何想法? 我是OpenTok的新手,希望得到任何建议。 提前致谢。

有关完整的项目代码,请参阅链接教程。 除了实现OpenTok的API秘密和我的解析凭证之外,我没有以任何方式修改代码。 我还在这个保管箱页面上托管了.h和.m文件。


你永远不会打电话[session publish:publisher error:&error]; 。 如果没有流发布,则不会有streamCreated事件。

我没有阅读整个教程,但我确实看了一下DropBox链接的.m文件。 从我读过的教程部分,我发现了很多错误信息,并且解释比他们应该更复杂。 我建议直接进入OpenTok教程并遵循iOS部分。

关于如何整合Parse(本教程未涉及),您需要知道的最重要的事情是Parse只负责提供适当的apiKeysessionIdtoken ; 没有其他的。 apiKey应该始终是相同的。 如果客户端需要能够相互通信, sessionId应该是相同的。 最后,每个客户端都应该得到一个唯一的token (这是您链接的博客文章不正确的地方之一,并且您不应该为整个会话存储一个publisherToken )。 Parse云代码模块可以帮助您在需要时生成新的sessionId ,并为每个客户端创建新的token 。 有关更好解释的示例,请参阅我前一段时间在官方博客上撰写的博客文章。 其中的一些信息是旧的,但仍然准确。

链接地址: http://www.djcxy.com/p/66139.html

上一篇: Parse.com OpenTok Integration Error

下一篇: One to one connection in OpenTok