Класс QSound
Класс QSound предоставляет метод для воспроизведения файлов звуков формата .wav. Подробнее...
| Заголовок: | #include <QSound> |
| qmake: | QT += multimedia |
| Наследует: | QObject |
Открытые типы
| перечисление | Loop { Бесконечно } |
Открытые функции
| 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) |
- 31 открытых функций унаследовано от QObject
Открытые слоты
| void | play() |
| void | stop() |
- 1 открытый слот унаследован от QObject
Статические открытые члены
| void | play(const QString &filename) |
| const QMetaObject | staticMetaObject |
- 9 статических открытых членов унаследовано от QObject
Дополнительные унаследованные члены
- 1 свойство унаследовано от QObject
- 2 сигналы унаследованы от QObject
- 9 защищенных функций унаследовано от QObject
Подробное описание
Класс QSound предоставляет метод для воспроизведения файлов звуков формата .wav.
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().
[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().
[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/qt-5.12/qsound.html