Java语音聊天

时间:2014-09-10 10:44:31

标签: java udp chat voice

我想在纯Java套接字编程中创建一个语音聊天应用程序。 我使用UDP协议将录制的语音从一个客户端传输到另一个客户端,但是当我通过互联网测试时,语音不会持续发生。 由于我是这个语音聊天应用的新手,有人可能会建议我应该怎么做才能获得持续的声音。

情景是这样的。

语音聊天流程,因为这只显示单向通信 -

数据流

客户端1 ------------------------------>>服务器------------------------------------>> Client2

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

服务器:从client1接收然后发送到client2。

Client2:接收UDP数据包并获取语音数据然后播放。


还面临带宽上下问题。 使用语音聊天的最小带宽应该是多少。 Ex-skype需要30KBPS的上传/下载速度。

提前致谢。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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