1
다음 코드를 고려하십시오. 생성자를 반환 후 Phonon :: Path and Phonon :: 효과는 파괴 되더라도 계속 작동합니다.
class MainWindow
{
// ...
Phonon::MediaObject media;
Phonon::AudioOutput audio_output;
};
MainWindow::MainWindow() : audio_output(MusicCategory)
{
//...
QList<EffectDescription> effects =
BackendCapabilities::availableAudioEffects();
media.setCurrentSource(MediaSource("../test.wma"));
Path path = createPath(&media, &audio_output);
Q_ASSERT(path.isValid());
if (!effects.isEmpty())
{
path.insertEffect(effects[2]);
}
media.play();
qDebug() << "Playing...";
}
,
path
및
effects
이 파괴 될 것이다. 나는
media
이 적용된 효과 (
effects[2]
)로 계속해서 재생되는 것을 알아 챘습니다.
나는 뭔가를 놓쳤다 고 생각합니다. path
및 effects
이 파괴 되더라도 media
은 어떻게 계속 진행됩니까? Path::~Path documentation으로