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

标签 c# audio naudio

我正在使用 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/

相关文章:

javascript - 使用 WebAudio 合并/混合两个音频流

iphone - 音频播放中特定时间回调

audio - 使用NAudio接收状态更改的 Audio Session 回调

c# - 如何在不引入竞争条件的情况下等待 RX Subject 的响应?

c# - Bing map 旋转

c# - 在不使用 JObject 的情况下使用 Json.net 反序列化派生类

c# - 具有效果的Windows 8.1应用程序音频(NAudio或SharpDX)

c# - 如何使用方法实现基类并强制派生类覆盖它?

android - 如何在广播接收器处于摘机状态时启动音频歌曲,以及如何在拨盘关闭时停止音频歌曲

c# - 分析音频以自动创建吉他英雄关卡