NAudio Loopback记录裂纹声音错误

时间:2017-01-05 09:39:26

标签: c# naudio

我通过WasapiLoopbackCapture录制声音并通过NAudio.Lame lib将其写入MP3文件:

LAMEPreset quality = LAMEPreset.ABR_320;

audiostream = new WasapiLoopbackCapture();
audiostream.DataAvailable += stream_DataAvailable;
audiostream.RecordingStopped += stream_RecordingStopped;

mp3writer = new LameMP3FileWriter(Environment.GetEnvironmentVariable("USERPROFILE") + @"\Music\record_temp.mp3",
    audiostream.WaveFormat, quality);

audiostream.StartRecording();

当用户按下停止录制按钮时,我保存MP3并停止录制:

mp3writer.Flush();
audiostream.Dispose();
mp3writer.Dispose();

一切正常,除了 输出文件中有一些令人不安的噼啪声。 (例如,请参阅here)。我想可能就是这样,我的计算机实时压缩和编写音频数据的过程有点慢,所以有些值会丢失,但这只是我的猜测

修改:录制到WAVE时,错误不会出现。

这可能是什么问题,我怎么可能解决它/解决它?

1 个答案:

答案 0 :(得分:0)

首先将音频保存为WAV文件。那有噼啪声吗?如果是这样,爆裂声就来自声卡。如果没有,它们将从编码转换为MP3代码。