Java语音聊天

Java语音聊天,java,udp,chat,voice,Java,Udp,Chat,Voice,我想用纯java套接字编程创建一个语音聊天应用程序。 我使用UDP协议将录制的语音从一个客户端传输到另一个客户端,但当我在internet上进行测试时,语音并没有持续传输。 由于我是这个语音聊天应用程序的新手,有人可能会建议我如何获得连续语音 情况是这样的 语音聊天流程,因为这只显示单向通信- 数据流 客户端1-------------------------------->服务器------------------------------------------>客户端2 客户1: 从Targ

我想用纯java套接字编程创建一个语音聊天应用程序。 我使用UDP协议将录制的语音从一个客户端传输到另一个客户端,但当我在internet上进行测试时,语音并没有持续传输。 由于我是这个语音聊天应用程序的新手,有人可能会建议我如何获得连续语音

情况是这样的

语音聊天流程,因为这只显示单向通信- 数据流 客户端1-------------------------------->服务器------------------------------------------>客户端2

客户1: 从TargetDataline读取1KB语音缓冲区,然后创建语音包并发送到服务器

服务器:从客户端1接收,然后发送到客户端2

客户端2:接收UDP数据包并获取语音数据,然后播放


同时也面临着带宽上下波动的问题。 使用语音聊天的最小带宽应该是多少。例如,skype需要30KBPS的加载/下载速度


提前感谢。

您应该在客户端之间直接发送数据包。通过服务器的数据包中继增加了更多的延迟。只需将它从client1发送到client2即可

为了在两个或多个用户之间建立点对点通信连接,您需要一个信令服务器以及STUN/TURN服务器


您可以编写自己的解决方案,也可以使用现成的后端解决方案,如ConnectyCube,并专注于客户端实现。这里还有一些WebRTC视频聊天供您参考。

我认为这不是从头开始的好方法,有上百个开源库可用。由于JavaSound API中的延迟,在Java.Mr中实现性能合理的语音聊天也相当困难(如果不是不可能的话)@您可以参考这些库来实现internet(WAN)上的语音传输吗?您可以给我一个例子吗?如何在没有java服务器的情况下连接client1和client2(用于语音聊天)。您需要服务器来启动客户端之间的连接。有关概念和一小段代码,请参阅此链接-