I want to play background music continually in a loop until the game ends.
in the header file:
QMediaPlayer * music = new QMediaPlayer();
in the cpp file:
startGame(){
music->setMedia(QUrl("qrc:/sounds/backgroundmusic.mp3"));
music->play(); }
stopGame(){
music->stop(); }
Right now my music plays thru to the end but does not restart. How can I get it to loop over again again? Is there a QMediaPlayer member I can use, or should I run it in a while loop, or what?
Sounds like what you want is
QMediaPlaylist
.QMediaPlaylist
allows you to control the playback mode, and in this case you would useLoop
. This approach has other advantages too, such asCurrentItemInLoop
.CurrentItemInLoop
will play the current playlist item in a loop, meaning that if you add more songs in the future you can select a song then loop only that track. Thus, you only need a single playlist for most needs. Below is some example code, I do not currently have a means to test it though (No Qt multimedia extensions installed on this machine). Should demonstrate the point reasonably well though.