gpt4 book ai didi

java - java中的UDP、数据报和声音

转载 作者:行者123 更新时间:2023-11-29 06:03:59 26 4
gpt4 key购买 nike

我需要一个发送 UDP 声音数据包的示例代码,比如使用数据报从服务器发送音频,服务器通过麦克风录制音频,客户端只收听音频。有人能帮助我吗?我找到了非常好的例子,但它们都使用 TCP 和套接字(比如这个 http://www.developer.com/java/other/print.php/2105421 ),而不是 DatagramSocket,我非常感谢你的帮助。

最佳答案

通过 UDP 发送有点傻。 UDP 可以以任何顺序到达并且在协议(protocol)中没有顺序。这意味着您可能会或可能不会收到一个数据包,并且您可能会先收到两个数据包,并且无法知道(没有编写一些代码来对它们进行排序)哪个是第一个。

放弃 UDP 并使用 TCP。

编辑:

好吧,假设你必须使用 UDP,那么我大致会这样做(假设你可以发送 UDP 数据包)

1) 创建数据方案,将封装在UDP中的以下数据

数据包序号数据Crc校验和

2) 在客户端你需要一个缓冲区来排序和重组数据

这将缓冲数据包、排序并以给定的缓冲区长度重新组合数据(不插入音频或在缺少序列号的地方截断)

您还需要计算出考虑到最弱连接的比特率是多少。与其拥有非常清晰的声音片段,不如失去声音的颗粒度。

注意。 crc也可以与数据长度结合。

高度

关于java - java中的UDP、数据报和声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9153651/

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