0

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);
}

この時点で、記録されたファイルは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
4

1 に答える 1

0

はい、MP3 ファイルではなく、WAV ファイルを保存しました。LAME.exe などを使用して MP3 に変換するか、Mp3FileReader の代わりに WaveFileReader を使用します。MP3 は、いずれにせよ 8kHz のような低いサンプル レートを実際にはサポートしていません。これは通常、テレフォニーにのみ使用されます。

于 2013-02-22T10:12:08.950 に答える