我们使用Cumulus服务器作为我们的RTMFP服务器来实现语音聊天。 使用NetStreams的语音流完全正常,几乎没有延迟,但我们也希望转移NetGroup每个成员的麦克风的活动级别。
所以我们尝试使用NetGroup.post(data)传输数据。这很好用,但即使在同一台机器上测试多个客户端,也有~500ms的延迟!
显然,麦克风活动中的半秒钟只能延迟以任何方式显示它。
现在我们正在尝试使用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(数据)一样,这个用例的使用速度太慢了。