0

我编写了一个 Windows 应用程序,它从 Android 应用程序接收音频数据,我使用 UDP 通过 LAN 传输数据,并使用 RtAudio 播放音频流。

每个 UDP 包负载都是一个音频样本数组,格式为 32k/16bit/pcm。

当数据大小为 576 字节,即 288 个样本时,一切正常,我们可以听到清晰的声音。

但是当数据大小在 192 字节,即 96 个样本时,声音并不清晰。

有人有问题吗?

4

1 回答 1

0

确定每个缓冲区数据包的最佳大小是一种平衡行为……太大了,您会逐渐远离实时响应,但又太小了,并且代码花费过多的时间来协商简单传输数据的样板管道。当你说 192 字节开始起作用时,看起来你已经达到了这个下限。

这与传输机制无关。还要记住,收听几百个字节时消耗的挂钟持续时间很小(对于 CD 质量的单声道音频,通常每秒 42,100 个样本),因此您不会在实时方面失去太多,从而为自己提供比下限更多的内容打过。

于 2018-12-04T12:21:16.060 回答