gpt4 book ai didi

c# - 语音 session ——如何让更多人参与进来?

转载 作者:行者123 更新时间:2023-11-30 17:23:25 36 4
gpt4 key购买 nike

首先,我只是一个爱好者,如果这是一个愚蠢的问题或者我太天真了,我很抱歉。 (这也意味着我买不起昂贵的库)

情况是这样的:我正在使用 C#.NET 构建一个简单的语音聊天应用程序(类似于 Ventrilo 或 TeamSpeak,但仅适用于大约 15 或 20 人,并且在 100Mbps LAN 上运行)。我有工作服务器(每个客户端的生成线程)和客户端应用程序,使用 UDP 进行连接,使用 DirectSound 捕获和播放声音。我可以进行“一对一”通话,但我无法弄清楚最重要的事情之一:

如何让超过两个人参与对话?

最佳答案

你需要一些集中的地方来通过多播将数据包发回,或者你需要一种分散的方法,其中每个客户端都连接到每个其他客户端,并且每个客户端都托管一个多播。您要避免的是让这些机器将它们的数据转发给所有其他机器,这会导致向每台机器发送消息的时间为 O(n)(并且 I/O 很慢!)。

无论哪种情况,您最终都会遇到相同的问题:如何组合音频流。实现此目的的一种简单机制是在将信号发送回之前(通过网络端口或发送到扬声器)按位或将信号放在一起,但这假设您可以访问未压缩且合理同步的流。

关于c# - 语音 session ——如何让更多人参与进来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2207642/

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