Nadio - 多声音设备播放和录音问题

Posted

技术标签:

【中文标题】Nadio - 多声音设备播放和录音问题【英文标题】:Naudio- Multiple sound device playback and recording issue 【发布时间】:2013-10-10 16:00:09 【问题描述】:

我正在使用 WaveOut 和 WaveInEvent 从多个 USB 声音设备录制声音并将其回放给它们。我说的是 4-6 个外部 USB 声卡,我必须同时录制和播放。

所以这意味着对于每个声音设备,我都有一个带有 soundDevice ID 的 WaveOut 对象和一个带有相同 SoundDevice ID 的 WaveInEvent 对象(用于录制和播放)。

当我调用 WaveInEvent.startRecording() 时,我的 c# 项目抛出带有解释的 mmexeption:“未指定的问题”。有时它发生在带有流的 WaveOut 的初始化中。

我认为打开声卡设备进行播放和录制可能存在限制,或者可能 naudio 无法支持它。

那么限制存在吗?或者我在处理多个声卡设备时必须使用不同的对象然后 WaveOut 和 WaveInEvent?

【问题讨论】:

4-6 个 USB 音频设备从一开始就是个坏主意。尝试一个简单的测试——打开 6 个 winamp 实例,将每个实例指向一个 USB 设备,并尝试同时播放它们。如果你在其中添加录音,我相信你很快就会达到临界点。 你要我用winamp录制吗?它有那个选项吗?如果 winamp 可以处理所有设备的播放,我会检查,因为在我之前的检查中,Naudio 没有处理它(播放所有设备而不记录它们,给了我同样的例外)。 尝试使用您知道应该可以使用的软件播放和录制所有设备。 【参考方案1】:

尝试在 Winamp 的所有设备上播放,但当我使用第四个声卡时它没有播放。

我试图将一张声卡插入电脑的另一个 USB 集线器(不是同一个集线器上的不同端口,不同集线器上的新端口),突然它可以工作了!也与Naudio。现在我可以打开所有这些播放和录制。我还没有尝试过大规模检查,但它看起来不错。

问题似乎是我超载了 USB 集线器。我不知道是因为usb hub没有足够的带宽还是因为属于电压问题。

【讨论】:

以上是关于Nadio - 多声音设备播放和录音问题的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Nadio c# 使声音更大?

什么录音软件可以录制电脑内部播放的声音

AvAudioEngine 可以播放和录音吗?

电脑显示无声音播放设备怎么办

游戏会话声音播放/录音

录音和播放同时进行