Java语音聊天

标签 java udp chat voice

我想用纯java套接字编程创建一个语音聊天应用程序。 我使用 UDP 协议(protocol)将录制的语音从一个客户端传输到另一个客户端,但是当我通过互联网测试它时,语音不会连续出现。 由于我是这个语音聊天应用程序的新手,有人可能会建议我应该做什么才能获得连续的语音。

场景是这样的。

语音聊天流程,因为这仅显示一种通信方式 -

数据流

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

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

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

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

<小时/>

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

提前致谢。

最佳答案

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

您可以编写自己的代码或使用 ConnectyCube 等现成的后端解决方案,并专注于客户端实现。以下是一些WebRTC视频聊天code samples也供大家引用。

关于Java语音聊天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25763386/

相关文章:

java - 使用 Selenium 上传文件

java - jqgrid 将 Jqgrid 数据发布回 Action 类

Java UDP接收器未接收数据

sockets - 从 IAsyncResult UDP 中提取 IP

tomcat - 部署 mobicents 聊天服务器(sip servlet)时出错

java - boolean 值!= false

c# - UDP - 我可以发送两个数据报部分,并让接收端将它们合并为一个吗?

php - 我只能在数据库中存储数字,一个简单的 php shoutbox

c# - 免费 ASP.NET 聊天室/聊天室

java.nio.file.WatchEvent 只给我相对路径。如何获取修改后文件的绝对路径?