Класс QSound
Класс QSound предоставляет метод для воспроизведения звуковых файлов формата .wav. Подробнее...
| Заголовок: | #include <QSound> |
| qmake: | QT += multimedia |
| Наследуется от: | QObject |
Открытые типы
| перечисление | Loop { Бесконечно } |
Открытые функции
| QSound(const QString &filename, QObject *parent = nullptr) | |
| виртуальный | ~QSound() |
| QString | fileName() const |
| bool | isFinished() const |
| int | loops() const |
| int | loopsRemaining() const |
| void | setLoops(int number) |
Открытые слоты
| void | play() |
| void | stop() |
Статические открытые члены
| void | play(const QString &filename) |
Подробное описание
Qt предоставляет наиболее часто используемые операции с аудио в приложениях с графическим интерфейсом пользователя: асинхронное воспроизведение звуковых файлов. Это проще всего сделать с помощью статической функции play():
QSound::play("mysounds/bells.wav"); В качестве альтернативы, сначала создайте объект QSound из звукового файла, а затем вызовите слот play():
QSound bells("mysounds/bells.wav");
bells.play(); В обоих случаях файл может быть локальным или находиться в ресурсах.
После создания объект QSound может быть запрошен для получения имени файла fileName() и общего количества повторений loops() (т.е. числа воспроизведений звука). Количество повторений может быть изменено с помощью функции setLoops(). Во время воспроизведения звука функция loopsRemaining() возвращает оставшееся количество повторений. Используйте функцию isFinished(), чтобы определить, закончено ли воспроизведение звука.
Звуки, воспроизводимые с помощью объекта QSound, могут потреблять больше памяти, чем статическая функция play(), но также могут воспроизводиться быстрее (в зависимости от возможностей аудио на платформе).
Если вам нужен более тонкий контроль над воспроизведением звуков, рассмотрите классы QSoundEffect или QAudioOutput.
См. также QSoundEffect.
Документация по типам членов
перечисление QSound::Loop
| Константа | Значение | Описание |
|---|---|---|
QSound::Infinite |
-1 |
Может быть использован в качестве параметра для setLoops(), чтобы воспроизводить звук бесконечно. |
Документация по функциям членов
QSound::QSound(const QString &filename, QObject *parent = nullptr)
Конструирует объект QSound из файла, указанного в filename, и с указанным parent.
Файл может быть локальным или находиться в ресурсах.
См. также play().
[slot] void QSound::play()
Это перегруженная функция.
Начинает воспроизведение звука, указанного этим объектом QSound.
Функция возвращает управление немедленно. В зависимости от возможностей аудио платформы, другие звуки могут быть остановлены или смешаны с новым звуком. Звук может быть воспроизведён снова в любое время, возможно, смешиваясь или заменяя предыдущие воспроизведения звука.
См. также fileName().
[slot] void QSound::stop()
Останавливает воспроизведение звука.
См. также play().
[virtual] QSound::~QSound()
Удаляет этот объект звука. Если звук не закончен, то функция stop() вызывается перед удалением объекта звука.
См. также stop() и isFinished().
QString QSound::fileName() const
Возвращает имя файла, связанное с этим объектом QSound.
См. также QSound().
bool QSound::isFinished() const
Возвращает true, если воспроизведение звука завершено; в противном случае возвращает false.
int QSound::loops() const
Возвращает количество повторений звука. Значение QSound::Infinite указывает на бесконечное количество повторений.
См. также loopsRemaining() и setLoops().
int QSound::loopsRemaining() const
Возвращает оставшееся количество повторений звука (для всех положительных значений это значение уменьшается каждый раз, когда звук воспроизводится). Значение QSound::Infinite указывает на бесконечное количество повторений.
См. также loops() и isFinished().
[static] void QSound::play(const QString &filename)
Воспроизводит звук, хранящийся в файле, указанном в filename.
Файл может быть локальным или находиться в ресурсах.
См. также stop(), loopsRemaining(), и isFinished().
void QSound::setLoops(int number)
Устанавливает количество повторений звука при его воспроизведении.
Обратите внимание, что передача значения QSound::Infinite приведет к бесконечному циклу воспроизведения звука.
См. также loops().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qsound.html