Я пробовал без QMediaPlaylist и он работал ...
QMediaContent content(QUrl::fromLocalFile("ABSOLUTE_PATH_TO_FILE"));
QMediaPlayer* player = new QMediaPlayer();
player->setMedia(content);
player->play();
Я проверил ваш код и он не работает ... даже абсолютный путь.
МОЖЕТ ДОПОЛНИТЕЛЬНО !!! ==>
У меня появилось сообщение об ошибке gstreamer, которое я проверил и закончил изучение gstreamer ... еще больше сообщений об ошибках с 0.10 и 1.0. Так что я установил все в зависимости от GStreamer (обе версии) и с последним обновлением я, наконец, смог воспроизводить звук в обеих версиях
sudo apt-get install gstreamer1.0-plugins-* gstreamer0.10-plugins-*
< == ВОЗМОЖНО ДОПОЛНИТЕЛЬНОЕ END
Вашего код все еще не работает , Поэтому я сравнивал ...
Я использовал указатели!
QMediaPlaylist* plst = new QMediaPlaylist();
plst->addMedia(QUrl::fromLocalFile("ABSOLUTE_PATH_TO_FILE"));
QMediaPlayer *pl = new QMediaPlayer();
pl->setPlaylist(plst);
pl->play();
Теперь это работает! (не спрашивайте меня, почему ...).
Подводя итог: Указатели и Абсолютный путь [возможно, GStreamer-плагины ...]
Это только решение для Debian ...
Можете ли вы сказать мне, если он работает в Окна?
Как вы его решили?
Если вы закрываете приложение во время игры, вы получаете SegFault.
Путь неправильный, вы можете использовать '/' в путях, или если вы хотите '\' вам нужно будет его избежать, поэтому используйте: «path \\ file.flac». Также проверьте текущий рабочий каталог, чтобы вы иметь правильный относительный путь (или тест с абсолютным путем) – Zlatomir
Просто используйте '/' для разделителя, Qt сделал его переносным, он переведет все, что ему нужно, на конкретной платформе. – dtech
Путь не проблема, это был просто образец, даже с правильным путём игрок просто не будет играть .flac-файлы – Walto