Код: Выделить всё
QMediaPlayer* _mediaPlayer = new QMediaPlayer();
QAudioOutput* _audioOutput = new QAudioOutput();
_mediaPlayer->setAudioOutput(_audioOutput);
_audioOutput->setVolume(100);
while(true) {
QString audio = "/path/to/file.mp3";
_mediaPlayer->setSource(QUrl::fromLocalFile(audio));
_mediaPlayer->play();
QThread::sleep(1);
}
Я проверил, что аудиофайлы длиннее одной секунды.Что может быть причиной этой проблемы?
Я использую QT 5.15.3
Перед этим я пытался остановить и приостановить проигрыватель. установка источника, но та же проблема сохраняется.
Проверено, живы ли потоки и работают ли они с помощью _mediaPlayer->thread()->isRunning() и _audioOutput->thread ()->isRunning(), и они работают.
Проверено _mediaPlayer->playbackState() и _mediaPlayer->mediaStatus() во время и до возникновения ошибки; это соответственно QMediaPlayer::PlayingState и QMediaPlayer::BufferedMedia.
Пытался остановить и дождаться воспроизведенияState, чтобы оно стало StoppedState перед установкой на следующем аудио, та же проблема.
Подробнее здесь: https://stackoverflow.com/questions/787 ... -in-a-loop