Класс QSound
Класс QSound предоставляет метод для воспроизведения файлов звуков формата .wav. Подробнее...
| Заголовок: | #include <QSound> |
| qmake: | QT += multimedia |
| Наследует: | QObject |
Типы публичного доступа
| перечисление | Loop { Infinite } |
Функции публичного доступа
| QSound(const QString &filename, QObject *parent = nullptr) | |
| virtual | ~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 можно запросить для получения его имени файла и общего количества повторов (то есть числа воспроизведений звука). Количество повторов может быть изменено с помощью функции 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.15/qsound.html