我正在使用 WaveOut 和 WaveInEvent 来录制来自多个 USB 声音设备的声音并将其回放给它们。我说的是 4-6 个外部 USB 声卡,我必须同时录制和播放。
所以这意味着对于每个声音设备,我都有一个带有 soundDevice ID 的 WaveOut 对象和一个带有相同 SoundDevice ID 的 WaveInEvent 对象(用于录制和播放)。
当我调用 WaveInEvent.startRecording() 时,我的 c# 项目抛出带有解释的 mmexeption:“未指定的问题”。有时它发生在带有流的 WaveOut 的初始化中。
我认为可能存在打开声卡设备进行播放和录制的限制,或者可能 naudio 无法支持它。
那么限制存在吗?或者我在处理多个声卡设备时必须使用不同的对象然后 WaveOut 和 WaveInEvent?
最佳答案
尝试在 Winamp 的所有设备上播放,当我使用第四个声卡时,它没有播放。
我试图将一张声卡插入电脑的不同 USB 集线器(不是同一个集线器上的不同端口,不同集线器上的新端口),突然它可以工作了!也与Naudio。现在我可以打开所有这些播放和录制。我还没有尝试过大规模检查,但它看起来不错。
似乎问题在于我重载了 USB 集线器。我不知道是因为usb hub没有足够的带宽还是因为属于电压问题。
关于c# - Nadio - 多声音设备播放和录音问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19300756/