Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 音频图:采用哪种方法进行输入监控_C#_Audio_Uwp - Fatal编程技术网

C# 音频图:采用哪种方法进行输入监控

C# 音频图:采用哪种方法进行输入监控,c#,audio,uwp,C#,Audio,Uwp,我的任务是监视计算机的音频输入(麦克风、线路输入),并同步显示它们 我是新来的听力图课程,所以考虑到基本和非常基本的课程,我觉得我需要关于如何继续的建议 我可以看到两种主要的方法,但都不完美 音频帧输出节点 创建图形 为每个设备输入节点创建一个音频帧输出节点 通过调用AddOutgoingConnection()方法从设备输入节点馈送它 定义QuantumStarted事件的处理程序创建缓冲区并将其传递给数据处理 这种方法为每个输入设备创建一个设备输入节点/音频帧输出节点,并公开数据帧,没有

我的任务是监视计算机的音频输入(麦克风、线路输入),并同步显示它们

我是新来的听力图课程,所以考虑到基本和非常基本的课程,我觉得我需要关于如何继续的建议

我可以看到两种主要的方法,但都不完美

音频帧输出节点
  • 创建图形
  • 为每个设备输入节点创建一个音频帧输出节点
  • 通过调用AddOutgoingConnection()方法从设备输入节点馈送它
  • 定义QuantumStarted事件的处理程序创建缓冲区并将其传递给数据处理
这种方法为每个输入设备创建一个设备输入节点/音频帧输出节点,并公开数据帧,没有太多困难。 但是,由于所有音频帧输出节点都使用单个事件处理程序,因此该处理程序无法检测给定帧的原点,即发送事件信号并传递帧的音频帧输出节点

这里可能有一个解决方案: 为每个输入设备创建一个图形。在这里,处理程序将处理来自已知原点的帧。我不确定在一个应用程序中创建几个音频图是否合适。 此外,还存在帧同步问题,因为AudioFrame.SystemRelativeTime始终为null(bug?)

添加自定义音频效果 自定义音频效果的结构类似于QuantumStarted处理程序。它被周期性地调用,并提供输入和输出帧。 如果我们创建一个无操作效果并将其附加到每个输入节点,那么我们可以访问所有输入帧而不实现效果。 来自不同输入的帧之间的同步仍然存在严重问题


如果有人能帮助我决定正确的方法,并告诉我如何解决同步问题,我将不胜感激。

我能知道您真正想要什么吗?多个输入设备同时记录到一个输出中?但是输入是设备而不是文件吗?输出、文件或设备(例如扬声器)是什么?“输入监控”是什么意思?如果我误解了你,请告诉我。@SunteenWu MSFT我想到的是多波段示波器。我能知道你到底想要什么吗?多个输入设备同时记录到一个输出中?但是输入是设备而不是文件吗?输出、文件或设备(例如扬声器)是什么?“输入监控”是什么意思?如果我误解了你,请告诉我。@SunteenWu MSFT我想到的是多波段示波器。