如何通过UDP播放音频流?

时间:2018-12-04 11:21:24

标签: c++ audio audio-streaming directsound rtaudio

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

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

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

但是当数据大小为192字节,换句话说为96个样本时,声音不清楚。

有人有问题吗?

1 个答案:

答案 0 :(得分:0)

确定每个缓冲区数据包的最佳大小是一种平衡行为...太大了,您逐渐偏离了实时响应,但是又变得太小,并且代码按比例花费了太多时间来讨论简单传输数据的样板管道。好像您说到192个字节开始起作用时,您已达到此下限。

这与传输机制无关。还请记住,聆听几百个字节时消耗的挂钟时间很小(对于CD质量的单声道音频,通常为每秒42,100个样本),因此您不会在实时方面失去太多,可以给自己带来更多的收益。命中了。