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

本文关键字:播放 实时 音频 PC naudio 控制器 使用 | 更新日期: 2023-09-27 18:31:02

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

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

我想播放这个数据数组,并在播放过程中实时传输下一个数组,没有间隙。

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

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

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

在 PC 端,您可以使用负责对队列中接收的数组进行查询的线程保存收到的流。

在队列

中有足够多的数据数组以允许您进行预缓冲后,在要开始从队列中检索(出列)数据的单独线程上,该线程将负责"实时"播放。

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

如果您要传输带有 URB 概念的数据包,请尝试使您的 URB 处于最佳状态。通常,4K 的 URB 是最佳流数据传输的不错选择,但如果您想减少启动时的延迟,您可以以欠佳的 USB 总线利用率为代价来减小这些 URS 的大小。