【发布时间】:2025-11-30 04:35:01
【问题描述】:
我想用纯 Java 套接字编程创建一个语音聊天应用程序。 我使用 UDP 协议将录制的语音从一个客户端传输到另一个客户端,但是当我通过 Internet 对其进行测试时,语音不会连续发出。 由于我是这个语音聊天应用程序的新手,有人可能会建议我应该怎么做才能获得连续语音。
场景是这样的。
语音聊天的流程,因为这仅显示了一种通信方式-
数据流
Client1----------------->> 服务器 ------------- ----------------------->>客户端2
客户端1: 从 TargateDataLine 读取 1KB 语音缓冲区,然后创建语音包并发送到服务器。
服务器:从client1接收,然后发送到client2。
Client2:接收UDP数据包并获取语音数据然后播放。
同样面临带宽上下的问题。 使用语音聊天的最小带宽应该是多少。 Ex-skype 需要 30KBPS 的 udload/downloading 速度。
提前致谢。
【问题讨论】:
-
我认为这不是从头开始的好方法,有数百个开源库可用。
-
由于 JavaSound API 的延迟,在 Java 中实现具有合理性能的语音聊天也是相当困难的(如果不是不可能的话)。
-
先生。 @chariesX 你能否参考这些库来实现互联网(WAN)上的语音传输。