Класс QSound
Класс QSound предоставляет метод для воспроизведения файлов звуковых эффектов формата .wav. Подробнее...
| Заголовок: | #include <QSound> |
| qmake: | QT += multimedia |
| Наследует: | QObject |
Типы public
| перечисление | Loop { Infinite } |
Функции public
| QSound(const QString &filename, QObject *parent = Q_NULLPTR) | |
| ~QSound() | |
| QString | fileName() const |
| bool | isFinished() const |
| int | loops() const |
| int | loopsRemaining() const |
| void | setLoops(int number) |
- 31 функции public, унаследованные от QObject
Public Slots
| void | play() |
| void | stop() |
- 1 public slot, унаследованный от QObject
Статические функции public
| void | play(const QString &filename) |
- 11 static public members, унаследованные от 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 можно запросить для получения имени файла fileName() и общего количества повторений loops() (то есть количества раз, которое прозвучит звук). Количество повторений можно изменить с помощью функции setLoops(). Во время воспроизведения звука функция loopsRemaining() возвращает оставшееся количество повторений. Используйте функцию isFinished(), чтобы определить, закончилось ли воспроизведение звука.
Звуки, воспроизводимые с помощью объекта QSound, могут использовать больше памяти, чем статическая функция play(), но они также могут воспроизводиться быстрее (в зависимости от возможностей платформы воспроизведения аудио).
Если вам требуется более тонкий контроль над воспроизведением звука, рассмотрите классы QSoundEffect или QAudioOutput.
См. также QSoundEffect.
Документация по типу членов
перечисление QSound::Loop
| Константа | Значение | Описание |
|---|---|---|
QSound::Infinite |
-1 |
Может быть использован в качестве параметра для setLoops() для бесконечного повторения. |
Документация по функциям-членам
QSound::QSound(const QString &filename, QObject *parent = Q_NULLPTR)
Конструктор объекта QSound из файла, указанного в filename, с заданным parent.
См. также play().
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/archives/qt-5.6/qsound.html