NAudio を使用して、.NET 4 アプリで Mp3 ファイルを再生しています。まず、WaveOut を初期化します。
IWavePlayer^ waveOutDevice = gcnew WaveOut();
それから私は2つのボタンを持っています。再生ボタン :(コード)
volumeStream = gcnew WaveChannel32(gcnew Mp3FileReader(gcnew IO::FileStream(path, IO::FileMode::Open, IO::FileAccess::Read, IO::FileShare::ReadWrite)));
mainOutputStream = volumeStream;
waveOutDevice->Init(mainOutputStream);
waveOutDevice->Play();
MP3 形式の FileStream をロードして再生します。2番目のボタンは停止です:(コード)
waveOutDevice->Stop();
再生が停止するだけです。
アプリを起動すると、5.344 KB を消費します。
しかし、2 つのボタン (再生してから停止) を押すと (別の MP3 を再生していると想像してください)、約 10 回アプリが 14.912 KB を消費します。
そして、この記憶を解放する方法がわかりません。MP3 を再生するには、次の NAudio オブジェクトを使用しています。
IWavePlayer^ waveOutDevice;
WaveStream^ mainOutputStream;
WaveChannel32^ volumeStream;