NAudio Source Demo の Mp3StreamingDemo を使用していますが、Mp3 フレームの圧縮解除に関する説明が必要です (詳細は何もなく、一般的なアイデアを得るために数文だけです)。
実際のコードは次のとおりです。
IMp3FrameDecompressor decompressor = null;
//...
if (decompressor == null)
{
WaveFormat waveFormat = new Mp3WaveFormat(frame.SampleRate, frame.ChannelMode == ChannelMode.Mono ? 1 : 2, frame.FrameLength, frame.BitRate);
//What does AcmMp3FrameDecompressor do?
decompressor = new AcmMp3FrameDecompressor(waveFormat);
this.bufferedWaveProvider = new BufferedWaveProvider(decompressor.OutputFormat);
}
int decompressed = decompressor.DecompressFrame(frame, buffer, 0);
MP3 について、それがどのように見えるか、フレームなどについてある程度の知識はありますが、mp3 フレーム解凍のプロセスを理解していないだけですか? 具体的には:
AcmMp3FrameDecompressor クラスは何のために使用されますか? DecompressFrame メソッドは何をしますか?
クラスからコードを見ることができますが、それを深く理解するには、オーディオ自体についてもっと多くの知識が必要だと思います。現時点では、私が言ったように、一般的な説明だけをいただければ幸いです。
お時間をいただき、ありがとうございました。