Класс QSoundEffect
Класс QSoundEffect предоставляет способ воспроизведения звуковых эффектов с низкой задержкой. Подробнее...
| Заголовок: | #include <QSoundEffect> |
| qmake: | QT += multimedia |
| Создается из: | SoundEffect |
| Наследуется от: | QObject |
Типы публичного доступа
| Перечисление | Loop { Infinite } |
| Перечисление | Status { Null, Loading, Ready, Error } |
Свойства
|
- 1 свойство унаследовано от QObject
Функции публичного доступа
| QSoundEffect(QObject *parent = Q_NULLPTR) | |
| ~QSoundEffect() | |
| QString | category() const |
| bool | isLoaded() const |
| bool | isMuted() const |
| bool | isPlaying() const |
| int | loopCount() const |
| int | loopsRemaining() const |
| void | setCategory(const QString &category) |
| void | setLoopCount(int loopCount) |
| void | setMuted(bool muted) |
| void | setSource(const QUrl &url) |
| void | setVolume(qreal volume) |
| QUrl | source() const |
| Status | status() const |
| qreal | volume() const |
- 32 функции публичного доступа унаследованы от QObject
Слот публичного доступа
| void | play() |
| void | stop() |
- 1 слот публичного доступа унаследован от QObject
Сигналы
| void | categoryChanged() |
| void | loadedChanged() |
| void | loopCountChanged() |
| void | loopsRemainingChanged() |
| void | mutedChanged() |
| void | playingChanged() |
| void | sourceChanged() |
| void | statusChanged() |
| void | volumeChanged() |
- 2 сигнала унаследованы от QObject
Статические члены публичного доступа
| QStringList | supportedMimeTypes() |
- 11 статических членов публичного доступа унаследованы от QObject
Дополнительные унаследованные члены
- 9 защищенных функций унаследованы от QObject
Подробное описание
Класс QSoundEffect предоставляет способ воспроизведения звуковых эффектов с низкой задержкой.
Этот класс позволяет воспроизводить не сжатые аудиофайлы (обычно WAV-файлы) с обычно более низкой задержкой и подходит для звуков «отклика» в ответ на действия пользователя (например, звуки виртуальной клавиатуры, положительная или отрицательная обратная связь для всплывающих диалоговых окон или звуки в играх). Если низкая задержка не важна, используйте класс QMediaPlayer, так как он поддерживает более широкий спектр форматов медиа и потребляет меньше ресурсов.
В этом примере показано, как воспроизвести повторяющийся, немного тихий звуковой эффект:
QSoundEffect effect;
effect.setSource(QUrl::fromLocalFile("engine.wav"));
effect.setLoopCount(QSoundEffect::Infinite);
effect.setVolume(0.25f);
effect.play(); Обычно звуковой эффект должен повторно использоваться, что позволяет выполнить весь анализ и подготовку заранее и запускать его только при необходимости. Это способствует воспроизведению звука с меньшей задержкой.
MyGame()
: m_explosion(this)
{
m_explosion.setSource(QUrl::fromLocalFile("explosion.wav"));
m_explosion.setVolume(0.25f);
// Set up click handling etc.
connect(clickSource, SIGNAL(clicked()), &m_explosion, SLOT(play()));
}
private:
QSoundEffect m_explosion; Поскольку QSoundEffect требует несколько больше ресурсов для достижения воспроизведения с меньшей задержкой, платформа может ограничить количество одновременно воспроизводимых звуковых эффектов.
Документация по типам членов
Перечисление QSoundEffect::Loop
| Константа | Значение | Описание |
|---|---|---|
QSoundEffect::Infinite |
-2 |
Используется в качестве параметра для setLoopCount() для бесконечного цикла |
Перечисление QSoundEffect::Status
| Константа | Значение | Описание |
|---|---|---|
QSoundEffect::Null |
0 |
Источник не установлен или источник равен null. |
QSoundEffect::Loading |
1 |
Эффект SoundEffect пытается загрузить источник. |
QSoundEffect::Ready |
2 |
Источник загружен и готов к воспроизведению. |
QSoundEffect::Error |
3 |
Во время операции произошла ошибка, например, при загрузке источника. |
Документация по свойствам
category : QString
Это свойство содержит категорию этого звукового эффекта.
Некоторые платформы могут выполнять различное аудио-маршрутизирование для разных категорий или могут позволить пользователю устанавливать разные уровни громкости для разных категорий.
Это свойство будет проигнорировано на платформах, которые не поддерживают категории аудио.
Функции доступа:
| QString | category() const |
| void | setCategory(const QString &category) |
Сигнал оповещения:
| void | categoryChanged() |
loops : int
Это свойство содержит количество повторений воспроизведения звука. Значение 0 или 1 означает, что звук будет воспроизведён только один раз; установите SoundEffect.Infinite, чтобы включить бесконечное повторение.
Значение может быть изменено во время воспроизведения звукового эффекта, в этом случае оставшиеся повторения будут обновлены до нового значения.
Функции доступа:
| int | loopCount() const |
| void | setLoopCount(int loopCount) |
Сигнал оповещения:
| void | loopCountChanged() |
loopsRemaining : const int
Это свойство содержит количество оставшихся повторений, прежде чем звуковой эффект остановится сам по себе, или QSoundEffect::Infinite, если это было установлено в loops.
Функции доступа:
| int | loopsRemaining() const |
Сигнал оповещения:
| void | loopsRemainingChanged() |
muted : bool
Это свойство предоставляет способ управления выключением звука. Значение true выключит этот эффект.
Функции доступа:
| bool | isMuted() const |
| void | setMuted(bool muted) |
Сигнал оповещения:
| void | mutedChanged() |
playing : const bool
Это свойство указывает, воспроизводится ли звуковой эффект или нет.
Функции доступа:
| bool | isPlaying() const |
Сигнал оповещения:
| void | playingChanged() |
source : QUrl
Это свойство содержит URL-адрес звука для воспроизведения. Для SoundEffect, чтобы попытаться загрузить источник, URL-адрес должен существовать, и приложение должно иметь права чтения в указанном каталоге.
Функции доступа:
| QUrl | source() const |
| void | setSource(const QUrl &url) |
Сигнал оповещения:
| void | sourceChanged() |
status : const Status
Это свойство указывает текущий статус звукового эффекта из перечисления QSoundEffect::Status.
Функции доступа:
| Status | status() const |
Сигнал оповещения:
| void | statusChanged() |
volume : qreal
Это свойство содержит громкость воспроизведения звукового эффекта, от 0.0 (тишина) до 1.0 (полная громкость).
Функции доступа:
| qreal | volume() const |
| void | setVolume(qreal volume) |
Сигнал оповещения:
| void | volumeChanged() |
Документация по функциям-членам
QSoundEffect::QSoundEffect(QObject *parent = Q_NULLPTR)
Создаёт QSoundEffect с заданным parent.
QSoundEffect::~QSoundEffect()
Удаляет этот звуковой эффект.
QString QSoundEffect::category() const
Возвращает текущую категорию для этого звукового эффекта.
Некоторые платформы могут выполнять различное аудио-маршрутизирование для разных категорий или могут позволить пользователю устанавливать разные уровни громкости для разных категорий.
Это свойство будет проигнорировано на платформах, которые не поддерживают категории аудио.
Примечание: Функция-получатель для свойства category.
См. также setCategory().
[signal] void QSoundEffect::categoryChanged()
Сигнал categoryChanged генерируется при изменении свойства category.
Примечание: Сигнал оповещения для свойства category.
bool QSoundEffect::isLoaded() const
Возвращает значение true, если звуковой эффект завершил загрузку source(), в противном случае false.
bool QSoundEffect::isMuted() const
Возвращает true, если этот звуковой эффект выключен, в противном случае false.
Примечание: Функция-получатель для свойства muted.
bool QSoundEffect::isPlaying() const
Возвращает true, если звуковой эффект воспроизводится в данный момент, иначе false.
Примечание: Функция-получатель для свойства playing.
[signal] void QSoundEffect::loadedChanged()
Сигнал loadedChanged генерируется при изменении состояния загрузки.
int QSoundEffect::loopCount() const
Возвращает общее количество воспроизведений этого звукового эффекта, прежде чем он остановится.
См. метод loopsRemaining() для количества оставшихся повторений.
Примечание: Функция-получатель для свойства loops.
См. также setLoopCount().
[signal] void QSoundEffect::loopCountChanged()
Сигнал loopCountChanged генерируется при изменении начального количества повторений.
Примечание: Сигнал оповещения для свойства loops.
[signal] void QSoundEffect::loopsRemainingChanged()
Сигнал loopsRemainingChanged генерируется при изменении количества оставшихся повторений.
Примечание: Сигнал оповещения для свойства loopsRemaining.
[signal] void QSoundEffect::mutedChanged()
Сигнал mutedChanged излучается при изменении состояния приглушения.
Примечание: Сигнал уведомления для свойства muted.
[slot] void QSoundEffect::play()
Начать воспроизведение звукового эффекта, циклически воспроизводя его заданное количество раз, указанное в свойстве loops.
[signal] void QSoundEffect::playingChanged()
Сигнал playingChanged излучается при изменении свойства playing.
Примечание: Сигнал уведомления для свойства playing.
void QSoundEffect::setCategory(const QString &category)
Устанавливает категорию этого звукового эффекта в category.
Некоторые платформы могут выполнять различное аудио-маршрутизирование для разных категорий или могут позволять пользователю устанавливать разные уровни громкости для разных категорий.
Это значение будет проигнорировано на платформах, которые не поддерживают категории аудио.
Если это значение изменяется, пока звуковой эффект воспроизводится, оно будет действовать только после того, как звуковой эффект перестанет воспроизводиться.
Примечание: Функция-сеттер для свойства category.
См. также category().
void QSoundEffect::setLoopCount(int loopCount)
Устанавливает общее количество воспроизведений этого звукового эффекта в loopCount.
Установка значения loop count в 0 или 1 означает, что звуковой эффект будет воспроизведён только один раз; передайте QSoundEffect::Infinite для бесконечного повторения. Количество повторений можно изменить во время воспроизведения звукового эффекта, в этом случае оставшиеся циклы обновится до нового значения loopCount.
Примечание: Функция-сеттер для свойства loops.
См. также loopCount() и loopsRemaining().
void QSoundEffect::setMuted(bool muted)
Устанавливает, должен ли быть выключен звуковой эффект.
Если muted имеет значение true, воспроизведение будет выключено (не будет звука), в противном случае воспроизведение будет происходить с текущей установленной громкостью volume.
Примечание: Функция-сеттер для свойства muted.
См. также isMuted().
void QSoundEffect::setSource(const QUrl &url)
Устанавливает текущий URL для воспроизведения на url.
Примечание: Функция-сеттер для свойства source.
См. также source().
void QSoundEffect::setVolume(qreal volume)
Устанавливает громкость звукового эффекта на volume.
Громкость масштабируется линейно от 0.0 (тишина) до 1.0 (полная громкость). Значения за пределами этого диапазона будут ограничены.
Значение громкости по умолчанию равно 1.0.
Управление громкостью в пользовательском интерфейсе обычно должно быть отмасштабировано нелинейно. Например, использование логарифмической шкалы обеспечит линейные изменения в воспринимаемой громкости, что обычно ожидается от управления громкостью. Для получения дополнительных сведений см. QAudio::convertVolume().
Примечание: Функция-сеттер для свойства volume.
См. также volume().
QUrl QSoundEffect::source() const
Возвращает URL текущего источника для воспроизведения.
Примечание: Функция-геттер для свойства source.
См. также setSource().
[signal] void QSoundEffect::sourceChanged()
Сигнал sourceChanged излучается при изменении источника.
Примечание: Сигнал уведомления для свойства source.
Status QSoundEffect::status() const
Возвращает текущий статус этого звукового эффекта.
Примечание: Функция-геттер для свойства status.
[signal] void QSoundEffect::statusChanged()
Сигнал statusChanged излучается при изменении свойства статуса.
Примечание: Сигнал уведомления для свойства status.
[slot] void QSoundEffect::stop()
Остановить текущее воспроизведение.
[static] QStringList QSoundEffect::supportedMimeTypes()
Возвращает список поддерживаемых типов MIME для этой платформы.
qreal QSoundEffect::volume() const
Возвращает текущую громкость этого звукового эффекта, от 0,0 (тишина) до 1,0 (максимальная громкость).
Примечание: Функция-геттер для свойства volume.
См. также setVolume().
[signal] void QSoundEffect::volumeChanged()
Сигнал volumeChanged излучается при изменении громкости.
Примечание: Сигнал уведомления для свойства volume.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qsoundeffect.html