Класс QSoundEffect
Класс QSoundEffect предоставляет способ воспроизведения звуковых эффектов с низкой задержкой. Подробнее...
| Заголовок: | #include <QSoundEffect> |
| qmake: | QT += multimedia |
| Инициализируется: | SoundEffect |
| Наследует: | QObject |
Типы общего доступа
| Перечисление | Loop { Бесконечное } |
| Перечисление | Состояние { Пустое, Загрузка, Готово, Ошибка } |
Свойства
|
|
- 1 свойство унаследовано от QObject
Функции общего доступа
| QSoundEffect(QObject *parent = Q_NULLPTR) | |
| ~QSoundEffect() | |
| QString | category() const |
| bool | isLoaded() const |
| bool | isMuted() const |
| bool | isPlaying() const |
| int | loopCount() const |
| int | оставшиеся_циклы() 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() const |
| qreal | volume() const |
- 31 функция унаследована от 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::Состояние
| Постоянная | Значение | Описание |
|---|---|---|
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
Возвращает, завершила ли загрузка звукового эффекта source().
bool QSoundEffect::isMuted() const
Возвращает, заглушен ли этот звуковой эффект.
Примечание: Функция-член для свойства 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, воспроизведение будет приглушено (выключено), в противном случае воспроизведение будет происходить с текущим заданным уровнем громкости.
Примечание: Функция-установщик для свойства muted.
См. также isMuted().
void QSoundEffect::setSource(const QUrl &url)
Установить текущий URL для воспроизведения в url.
Примечание: Функция-установщик для свойства source.
См. также source().
void QSoundEffect::setVolume(qreal volume)
Устанавливает громкость воспроизведения звукового эффекта в volume, от 0.0 (без звука) до 1.0 (максимальная громкость).
Примечание: Функция-установщик для свойства 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.
Примечание: Сигнал уведомления для свойства 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/archives/qt-5.6/qsoundeffect.html