Я следовал различные темы о том, как записывать и воспроизводить 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);
}
в этой точке г ecorded файл должен быть 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
Да, спасибо, Марк. Я фактически переключился на 16K, 16b, Mono и использовал Lame для кодирования. Он работает отлично. – blop