Russian Qt Forum

Qt => Мультимедиа => Тема начата: Alex_ryabis от Ноябрь 12, 2022, 14:07



Название: Последовательное воспроизведение АУДИО
Отправлено: Alex_ryabis от Ноябрь 12, 2022, 14:07
Необходимо реализовать что-то похожее на подсказки навигатора
Задача простая:
Воспроизвести последовательно несколько аудиофайлов. Желательно, через QSound, чтобы было попроще.
Когда пытаюсь сделать так:
Код:
QSound::play(":/sound/turn_left_.wav");
QSound::play(":/sound/_100m.wav");
проигрываются одновременно два звука.

Или всё-же лучше заморочиться через QMediaPlayer и QMediaPlaylist?


Название: Re: Последовательное воспроизведение АУДИО
Отправлено: kambala от Ноябрь 12, 2022, 14:28
у QSound не видно никаких сигналов, вряд ли через него одного получится нормально отследить конец файла (постоянно опрашивать его — так себе решение). лучше взять что-то, имеющее такой функционал.


Название: Re: Последовательное воспроизведение АУДИО
Отправлено: Alex_ryabis от Ноябрь 12, 2022, 14:35
Спасибо за ответ!
Решил делать через QMediaPlayer

получилось не так сложно и, впринципе, не сильно "затратно":
Код:
    QMediaPlayer *mplayer = new QMediaPlayer(this);
    QMediaPlaylist *mplist = new QMediaPlaylist(mplayer);
    mplayer->setPlaylist(mplist);

    mplist->addMedia(QUrl("qrc:/sound/turn_left_.wav"));
    mplist->addMedia(QUrl("qrc:/sound/_100m.wav"));
    mplist->setPlaybackMode(QMediaPlaylist::Sequential);

    mplayer->play();