0

我们使用Cumulus服务器作为 RTMFP 服务器来实现语音聊天。使用 NetStreams 的语音流在这里工作得非常好,几乎没有延迟,但我们还希望传输 NetGroup 中每个成员的麦克风的活动级别。

所以我们尝试使用 NetGroup.post(data) 传输数据。效果很好,但即使在同一台机器上使用多个客户端进行测试,也会有大约 500 毫秒的延迟!

显然,麦克风活动的半秒只是以任何方式显示它的延迟时间。

现在我们正在尝试使用 NetGroup.sendToAllNeighbors( 的直接路由,但它根本什么都不做。我已经阅读了它的所有文档,通常应该在接收客户端上触发带有“NetGroup.SendTo.Notify”的 NetGroup 状态事件。相反,什么也没有发生。

这是代码,它被称为每一帧:

var tsObject :TimestampedObject = new TimestampedObject();
tsObject.timestamp = (new Date()).getTime();
tsObject.sender = _netConnection.nearID;
tsObject.object = _mic.activityLevel;

_netGroup.sendToAllNeighbors(tsObject);

我知道每一帧有点多,但现在它只是一个测试用例。

我们做错了什么?正如我所说,语音通信本身工作正常。与 Netgroup.post(data) 一样,在这个用例中使用它太慢了。

4

0 回答 0