我正在使用 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();
它从 FileStream 加载 MP3 并播放它。第二个按钮是停止:(代码)
waveOutDevice->Stop();
它只是停止播放。
当我启动我的应用程序时,它会占用 5.344 KB。
但是当我点击 2 个按钮(播放然后停止)(想象我正在播放不同的 MP3)时,大约 10 次应用程序占用了 14.912 KB!
而且我不知道如何释放这段记忆。要播放 MP3,我使用这些 NAudio 对象:
IWavePlayer^ waveOutDevice;
WaveStream^ mainOutputStream;
WaveChannel32^ volumeStream;