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