Ошибка SIGSEGV в Qt при зацикливании музыки - PullRequest
0 голосов
/ 03 ноября 2019

Я пытаюсь зациклить фоновую музыку, и у меня всегда возникала проблема с SIGSEGV, которая приводила к сбою моей программы. Если я уберу режим воспроизведения QMediaPlaylist, то программа запустится просто отлично.

Здесь ссылка на github: https://github.com/KhanhSonPham/simplePlaneShooting

QMediaPlaylist * playlist = new QMediaPlaylist();
playlist->setPlaybackMode(QMediaPlaylist::CurrentItemInLoop);
playlist->addMedia(QUrl("qrc:/sounds/engine.mp3"));
playlist->setCurrentIndex(1);


sound = new QMediaPlayer();
sound->setPlaylist(playlist);
sound->play();

ошибка вывода

1 Ответ

0 голосов
/ 03 ноября 2019

Эта строка кода должна измениться на

playlist->setCurrentIndex(0);

На самом деле у вас есть один элемент в вашем списке воспроизведения. Итак, он должен быть в индексе 0. Я предполагаю, что это опечатка, но для некоторой информации о том, почему C / C ++ или многие другие языки программирования используют индексы, начинающиеся с нуля Я рекомендую вас сюда .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...