使用naudio从微控制器在PC中播放实时音频

时间:2016-01-20 07:10:05

标签: c# microcontroller naudio

我想将微控制器连接到PC,并将微型波形文件发送到PC。然后我想实时播放这样的波流,同时将它保存在PC中。

我可以在micro和PC之间设置USB连接以接收数据阵列。

我想播放这个数据阵列,并在播放过程中实时传输下一个阵列。

我正在使用C#在PC上进行编程。

1 个答案:

答案 0 :(得分:1)

您需要做的是缓冲。由于您使用USB并且传输不是实时保证,您可以提前几秒钟开始传输"。

在PC端,您可以使用一个线程保存接收的流,该线程负责在Queue中接收所接收的数组。

在队列中有足够的数据数组以允许预缓冲之后,在一个单独的线程上,您想要开始从队列中检索(出列)数据,然后该线程负责实时"实时& #34;回放。

您在开始时使用的少量额外缓冲区将允许您补偿由其他操作系统任务中的峰值需求导致的临时数据传输滞后。

如果您要转移您的包裹,请使用URB的概念,尝试使您的URB最佳。通常情况下,4K的URB是最佳流数据传输的良好选择,但如果您希望在开始时减少延迟,则可以以次优USB总线利用率为代价来减小这些URS的大小。