2
我使用naudio(使用教程)lerning音頻編程。我的程序(C#.net winForms)我有記錄和停止按鈕。代碼如下:錄音波naudio liblary - 低質量的聲音
NAudio.Wave.WaveIn sourceStream = null;
NAudio.Wave.WaveFileWriter waveWriter = null;
private void RecordButton_Click(object sender, EventArgs e)
{
int deviceNumber = 0;
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("d:\\a.wav", 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();
}
private void StopButton_Click(object sender, EventArgs e)
{
waveWriter.Dispose();
waveWriter = null;
}
它可以工作,但波形文件質量並不好 - 我錄製的聲音有很小的差距。我想要採樣率44100赫茲和採樣格式16位。
難道是因爲麥克風不好? – banging
不,我只有一個錄音設備(它與另一個商業程序一起使用) – Juss
音頻質量如果您使用的是NAudio音源附帶的NAudioDemo應用程序,音質如何?另外,你使用的是哪種版本的NAudio? –