gpt4 book ai didi

actionscript-3 - NetStream.send 在 RTMFP 中不与 NetGroup 一起工作

转载 作者:行者123 更新时间:2023-12-04 06:51:43 26 4
gpt4 key购买 nike

我们正在运行 Cumulus服务器进行实时语音和文本聊天。

设置是每个client可以通过group.post()向同一个NetGroup中的其他client发送数据。不幸的是,该函数非常慢(至少延迟半秒),因此我们转而使用 NetStream.send 来调用其他客户端上的函数,并通过它传递数据。这几乎立即生效。

但是,我们现在正在尝试使用不同的 NetGroups 构建单独的聊天室。但是这样做时,NetStream.send() 不再起作用,其他客户端永远不会调用这些函数,也不会传输任何语音数据。基本上,整个发布 NetStream 似乎都不起作用了。

我们有以下设置来在每个客户端上建立一个 NetGroup 和一个发布流:

var gspec:GroupSpecifier = new GroupSpecifier("Group1");
gspec.multicastEnabled = true;
gspec.postingEnabled = true;
gspec.serverChannelEnabled = true;
gspec.objectReplicationEnabled = true;
gspec.routingEnabled = true;

_group = new NetGroup(_netConnection, gspec.groupspecWithAuthorizations());
_group.addEventListener(NetStatusEvent.NET_STATUS, handleNetGroupStatus);

_sendStream = new NetStream(_netConnection, gspec.groupspecWithAuthorizations());
_sendStream.addEventListener(NetStatusEvent.NET_STATUS, handleNetStreamStatus);
_sendStream.client = this;
_sendStream.attachAudio(_mic);
_sendStream.publish("media");

下面的代码用于监听“媒体”流:

case "NetGroup.Neighbor.Connect":
var netStream :NetStream = new NetStream(_netConnection, p_netStatusEvent.info.peerID);
netStream.addEventListener(NetStatusEvent.NET_STATUS, handleNetStreamStatus);
netStream.client = this;
netStream.play("media");
break;

NetGroup 连接本身起作用,并且当邻居连接时在每个客户端上调用“NetGroup.Neighbor.Connect”。但是 _sendStream 本身根本不起作用。没有收到数据,没有调用函数。

当按以下方式构建发布 NetStream 时,它确实有效:

_sendStream = new NetStream(_netConnection, NetStream.DIRECT_CONNECTIONS); 

但是,我们只希望NetStream 发送到单个NetGroup,并且根据Adobe Documentation ,在构造函数中使用 gspec.groupspecWithAuthorizations() 应该允许这样做。

我们是否遗漏了什么?

最佳答案

我找到了答案:

您还必须让接收 NetStream 监听 gspec.groupspecWithAuthorizations() 而不是 p_netStatusEvent.info.peerID

这确实有效。不幸的是,这使得语音聊天变得不可能,因为它非常慢(和 NetGroup.post() 一样慢)并且引入了许多声音瑕疵。

所以,我们必须为不同的聊天室寻找另一种解决方案......

关于actionscript-3 - NetStream.send 在 RTMFP 中不与 NetGroup 一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10206097/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com