在 Phonon 音频播放器中将歌曲设置为静态。该循环使用aboutToFinish()
. 问题是歌曲结束时有 1 秒的延迟,然后歌曲重复播放。我们怎样才能避免延误?我还存储在一个临时缓冲区(使用QBuffer
)中,用于播放它。但它没有为循环问题提供解决方案。
musicpath="sound/sample.mp3";
Phonon::AudioOutput *audioOutput;
Phonon::VolumeSlider *volumeSlider;
Phonon::MediaObject *mediaObject;
mediaObject = new Phonon::MediaObject(this);
mediaObject->setCurrentSource(Phonon::MediaSource( musicpath));
connect(mediaObject, SIGNAL(aboutToFinish()),mediaObject,SLOT(stop()));
connect(mediaObject, SIGNAL(aboutToFinish()),mediaObject,SLOT(play()));
Phonon::createPath(mediaObject, audioOutput);
volumeSlider->setAudioOutput(audioOutput);
mediaObject->play();