我的任务是监控计算机的音频输入(麦克风,线路输入)并以可视方式同步显示。
我是 AudioGraph 类的新手,所以考虑到基本的tutorial和非常基本的课程documentation,我觉得我需要有关如何继续的建议。
我可以看到两种主要方法,但两者都不完美。
此方法为每个输入设备创建设备输入节点/音频帧输出节点,并且没有太多困难地暴露数据帧。 但是,由于所有音频帧输出节点都使用单个事件处理程序,因此处理程序无法检测给定帧的原点,即发出信号并传递帧的音频帧输出节点。
这可能是一个解决方案: 为每个输入设备创建一个图表。这里,处理程序将处理来自已知来源的帧。我不确定在单个应用程序中创建多个音频图表是否可行。 此外,还存在帧同步问题,因为AudioFrame.SystemRelativeTime始终为null(bug?)。
自定义音频效果的结构类似于QuantumStarted处理程序的结构。它被定期调用并提供输入和输出帧。 如果我们创建一个NO-OP效果并将其附加到每个输入节点,我们就可以访问所有输入帧而不实现效果。 来自不同输入的帧之间的同步仍存在严重问题。
如果有人能够帮助我确定正确的方法,并告诉我如何解决同步问题,我将不胜感激。