ボイスチャットを実装するためのRTMFPサーバーとしてCumulusサーバーを使用しています。NetStreamsを使用した音声ストリーミングは、ここではほとんど遅延なく完全に正常に機能しますが、NetGroupの各メンバーのマイクのアクティビティレベルも転送する必要があります。
そこで、NetGroup.post(data)を使用してデータを転送してみました。これはうまく機能しましたが、同じマシンで複数のクライアントを使用してテストした場合でも、最大500ミリ秒の遅延がありました。
明らかに、マイクアクティビティの0.5秒は、なんらかの方法で表示するのにかなりの遅延が発生します。
現在、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)も同様ですが、これは遅すぎてこのユースケースには使用できません。