我有很多短的音頻文件(MP3),我想用C++中的FMOD播放。
在我的程序中有這樣的事情:FMOD內存泄漏
FMOD::System *fmodSystem;
FMOD::Channel *channel;
FMOD::System_Create(&fmodSystem);
fmodSystem->init(100, FMOD_INIT_NORMAL, 0);
while(true)
{
FMOD::Sound *sound;
fmodSystem->createSound("random filename.mp3", FMOD_DEFAULT, FMOD_DEFAULT, &sound);
fmodSystem->playSound(FMOD_CHANNEL_FREE, sound, false, &channel);
fmodSystem->update();
Sleep(100);
}
對於每一個新的聲音我看到的可用內存減少。這似乎很正常,因爲我從來沒有釋放FMOD:Sound對象。 我無法釋放這些對象,因爲fmodSystem-> playSound方法是異步的。
那麼我該如何解決這個記憶問題?