录音和播放MP3音频
问题描述:
我按照在不同的线程如何录制和播放MP3,但我还是总能得到这个例外试图播放,我已经录制的MP3文件:录音和播放MP3音频
mp3filereader does not support sample rate changes
因此,这里是我的代码记录:
waveInStream = new WaveIn();
waveInStream.WaveFormat = new WaveFormat(8000, 16, 1);
writer = new WaveFileWriter(outputfileName, waveInStream.WaveFormat);
waveInStream.DataAvailable += new EventHandler<WaveInEventArgs>(waveInStream_DataAvailable);
waveInStream.StartRecording();
的waveInStream_DataAvailable是:
void waveInStream_DataAvailable(object sender, WaveInEventArgs e)
{
writer.Write(e.Buffer, 0, e.BytesRecorded);
}
此时将R生态文件应该是PCM无压缩的权利?
在播放它之前是否需要将其转码为MP3?
我的演奏代码:
WaveChannel32 inputStream;
WaveStream mp3Reader = new Mp3FileReader(fileName); var pStream = NAudio.Wave.WaveFormatConversionStream.CreatePcmStream(mp3Reader);
inputStream = new WaveChannel32(mp3Reader);
volumeStream = inputStream;
return volumeStream;
发生异常时,每次在Mp3FileReader
电话,说是这样的:
Got a frame at sample rate 44100, in a MP3 sample rate 32000
Mp3FileReader does not support sample rate change
答
是的,你已经保存WAV文件,而不是MP3文件。使用LAME.exe之类的东西转换为MP3,或者使用WaveFileReader而不是Mp3FileReader。 MP3在任何情况下都不支持8kHz等低采样率,通常只用于电话。
是的谢谢马克。我实际上切换到了16K,16b,Mono并使用Lame进行编码。它完美的作品。 – blop 2013-02-25 09:12:41