【发布时间】:2012-11-23 07:15:13
【问题描述】:
我正在使用 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;
【问题讨论】: