我有一个必须录制对话的应用。一个通道中的传出声音和另一个通道上的传入声音。最后将录音保存为1个立体声文件(mp3文件)。
我正在经历handling-multi-channel-audio-in-naudio。但是还不能为我工作。这是我尝试过的,下面的代码在wav文件中保存录音。它不处理多通道功能。我无法在我的代码中加入多渠道功能:</ p>
private void Save_Wav(object sender, EventArgs e)
{
if (sourceList.SelectedItems.Count == 0) return;
SaveFileDialog save = new SaveFileDialog();
save.Filter = "Wave File (*.wav)|*.wav;";
if (save.ShowDialog() != System.Windows.Forms.DialogResult.OK) return;
int deviceNumber = sourceList.SelectedItems[0].Index;
sourceStream = new NAudio.Wave.WaveIn();
sourceStream.DeviceNumber = deviceNumber;
sourceStream.WaveFormat = new NAudio.Wave.WaveFormat(44100, NAudio.Wave.WaveIn.GetCapabilities(deviceNumber).Channels);
sourceStream.DataAvailable += new EventHandler<NAudio.Wave.WaveInEventArgs>(sourceStream_DataAvailable);
waveWriter = new NAudio.Wave.WaveFileWriter(save.FileName, sourceStream.WaveFormat);
sourceStream.StartRecording();
}
private void sourceStream_DataAvailable(object sender, NAudio.Wave.WaveInEventArgs e)
{
if (waveWriter == null) return;
waveWriter.WriteData(e.Buffer, 0, e.BytesRecorded);
waveWriter.Flush();
}
任何帮助都将不胜感激。