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

时间:2015-10-14 07:56:22

标签: c# naudio

我希望能够将麦克风输出与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做的事情,如果是的话,我该如何去做呢?

谢谢!

1 个答案:

答案 0 :(得分:1)

基本策略是将麦克风接收到的音频放入BufferedWaveProvider。然后使用ISampleProvider扩展方法将其转换为ToSampleProvider。现在你可以将它传递给MixingSampleProvider。然后从MixingSampleProvider开始游戏。现在,您可以通过在MixingSampleProvider

中添加输入来混合使用其他音频