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

C# 使用naudio从微控制器在PC中播放实时音频,c#,microcontroller,naudio,C#,Microcontroller,Naudio,我想将一个微控制器连接到PC机上,并将一个波形文件从micro发送到PC机上。然后我想实时播放这样的波形流,同时将其保存在PC机上 我可以在micro和PC之间设置USB连接,以接收数据阵列 我想播放这个数据数组,并在播放过程中不间断地实时传输下一个数组 我正在使用C在PC上编程。您需要做的是缓冲。由于您使用的是USB,并且传输不受实时保护,因此您可以提前几秒钟开始传输 然后,在PC端,您可以使用一个线程保存接收到的流,该线程负责将接收到的阵列存储在一个数据库中 在队列中有足够的数据数组以允许预

我想将一个微控制器连接到PC机上,并将一个波形文件从micro发送到PC机上。然后我想实时播放这样的波形流,同时将其保存在PC机上

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

我想播放这个数据数组,并在播放过程中不间断地实时传输下一个数组


我正在使用C在PC上编程。

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

然后,在PC端,您可以使用一个线程保存接收到的流,该线程负责将接收到的阵列存储在一个数据库中

在队列中有足够的数据数组以允许预缓冲后,在一个单独的线程上,您希望开始从队列中检索出队列中的数据,然后该线程负责实时播放

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


如果您使用URB的概念传输数据包,请尝试使您的URB达到最佳状态。通常情况下,4K的URB是最佳流数据传输的好选择,但如果您想在开始时减少延迟,可以降低这些URS的大小,但代价是USB总线利用率不理想。

欢迎使用堆栈溢出。你的问题似乎很广泛。请阅读,作为开始。。