将麦克风与 mp3 文件混合并将其输出到特定设备

mix microphone with mp3 file and output that to specific device

我希望能够将麦克风输出与 mp3 文件混合,并将其输出到特定设备。

我在特定设备上播放了 mp3 文件:

Mp3FileReader reader = new Mp3FileReader("C:\Users\Victor\Music\Musik\Attack.mp3");
var waveOut = new WaveOut();// or WaveOutEvent()
waveOut.DeviceNumber = deviceId; //deviceId, like 0 or 1
waveOut.Init(reader);
waveOut.Play();

所以我希望能够做的基本上是始终将麦克风输出发送到特定输出,并在按下按钮时使用 mp3 文件的声音将该输出覆盖到该特定设备。 现在我正在尝试用 naudio 做些什么,如果是的话我会怎么做?

谢谢!

基本策略是将从麦克风接收到的音频放入BufferedWaveProvider。然后使用 ToSampleProvider 扩展方法将其转换为 ISampleProvider。现在您可以将其传递给 MixingSampleProvider。然后从MixingSampleProvider播放。现在,您可以随时通过将输入添加到 MixingSampleProvider

来混入其他音频