我在Qt写一个mp3播放器,我需要监听我的音频电平。为此,我将QAudioProbe附加到我的QMediaPlayer。但是,当我在Windows中执行此操作时,我的内存消耗不断增加。播放音频约3小时后,我的播放器耗尽机器上的所有内存并停止运行。
OSX下的内存消耗稳定。将音频探头连接到QAudioInput时,它也很稳定。
我在我的探针上尝试了删除和deleteLater,但根据任务管理器,这不会导致内存使用量减少。有没有QAudioProbe的替代品?我很快就没有关于如何解决这个内存问题的想法。
QMediaPlayer *player = new QMediaPlayer(this);
player->setMedia(QUrl_to_my.mp3);
QAudioProbe *probe = new QAudioProbe(this);
probe->setSource(player); // Memory usage stabilizes if I comment this line out
player->play();
更新:我尝试过的其他事情 QAudioDecoder - 不幸的是,这似乎有相同的内存泄漏。它也没有在OSX下实现。 在单独的QThread中执行代码 - 仍然会泄漏内存。