我通过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时,错误不会出现。
这可能是什么问题,我怎么可能解决它/解决它?
答案 0 :(得分:0)
首先将音频保存为WAV文件。那有噼啪声吗?如果是这样,爆裂声就来自声卡。如果没有,它们将从编码转换为MP3代码。