Почему мой QMediaPlayer перестает работать после нескольких итераций цикла?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Почему мой QMediaPlayer перестает работать после нескольких итераций цикла?

Сообщение Anonymous »

Я работаю над проектом, в котором мне нужно непрерывно воспроизводить звук в цикле, используя QMediaPlayer и QAudioOutput. Вот упрощенная версия моего кода, усиливающая эффект:

Код: Выделить всё

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);
}
Проблема, с которой я столкнулся, заключается в том, что звук перестает работать после нескольких итераций цикла. Сначала он воспроизводится нормально, воспроизводит файл file.mp3 в первую секунду, затем перезапускается, но затем останавливается.
Я проверил, что аудиофайлы длиннее одной секунды.Что может быть причиной этой проблемы?
Я использую 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Scipy.optimize.curve_fit перестал работать после нескольких итераций
    Anonymous » » в форуме Python
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Scipy.optimize.curve_fit перестал работать после нескольких итераций
    Anonymous » » в форуме Python
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Scipy.optimize.curve_fit перестал работать после нескольких итераций
    Anonymous » » в форуме Python
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Воспроизведение музыки с помощью QT6 и QMediaPlayer
    Anonymous » » в форуме C++
    0 Ответы
    59 Просмотры
    Последнее сообщение Anonymous
  • QMediaPlayer ускоряет видео после приостановки и возобновления видео на Raspberry Pi 5
    Anonymous » » в форуме Linux
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C++»