Класс QSoundEffect
Класс QSoundEffect предоставляет способ воспроизведения звуковых эффектов с низкой задержкой. Подробнее...
| Заголовок: | #include <QSoundEffect> |
| qmake: | QT += multimedia |
| Создается из: | SoundEffect |
| Наследуется от: | QObject |
Типы публичного доступа
| Перечисление | Loop { Бесконечное } |
| Перечисление | Статус { Нулевой, Загрузка, Готов, Ошибка } |
Свойства
|
|
- 1 свойство унаследовано от QObject
Открытые функции
| QSoundEffect(QObject *parent = nullptr) | |
| virtual | ~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 |
| QSoundEffect::Статус | status() const |
| qreal | volume() const |
- 34 открытых функций унаследовано от 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() |
- 10 статических открытых членов унаследовано от QObject
Дополнительные унаследованные члены
- 1 открытая переменная унаследована от QObject
- 9 защищенных функций унаследовано от QObject
- 2 защищенных переменных унаследовано от 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, &QPushButton::clicked, &m_explosion, &QSoundEffect::play);
}
private:
QSoundEffect m_explosion; Поскольку QSoundEffect требует немного больше ресурсов для достижения воспроизведения с низкой задержкой, платформа может ограничивать количество одновременно воспроизводимых звуковых эффектов.
Документация типов членов
enum QSoundEffect::Loop
| Константа | Значение | Описание |
|---|---|---|
QSoundEffect::Infinite |
-2 |
Используется в качестве параметра для setLoopCount() для бесконечного цикла |
enum QSoundEffect::Статус
| Константа | Значение | Описание |
|---|---|---|
QSoundEffect::Null |
0 |
Не задан источник или источник равен null. |
QSoundEffect::Loading |
1 |
Звуковой эффект пытается загрузить источник. |
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.
Функции доступа:
| QSoundEffect::Status | status() const |
Сигнал уведомления:
| void | statusChanged() |
volume : qreal
Это свойство содержит громкость воспроизведения звукового эффекта, от 0,0 (тишина) до 1,0 (полная громкость).
Функции доступа:
| qreal | volume() const |
| void | setVolume(qreal volume) |
Сигнал уведомления:
| void | volumeChanged() |
Документация по функциям-членам
QSoundEffect::QSoundEffect(QObject *parent = nullptr)
Создаёт QSoundEffect с заданным parent.
[virtual] QSoundEffect::~QSoundEffect()
Уничтожает этот звуковой эффект.
QString QSoundEffect::category() const
Возвращает текущую категорию для данного звукового эффекта.
Некоторые платформы могут выполнять различное аудио-маршрутизирование для различных категорий или позволяют пользователю устанавливать различные уровни громкости для разных категорий.
Это значение будет проигнорировано на платформах, которые не поддерживают категории аудио.
Примечание: Функция-геттер для свойства category.
См. также setCategory().
[signal] void QSoundEffect::categoryChanged()
Сигнал categoryChanged генерируется, когда свойство категории изменилось.
Примечание: Сигнал уведомления для свойства 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, воспроизведение будет выключено (без звука), в противном случае воспроизведение будет происходить с текущей установленной громкостью 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.
QSoundEffect::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.11/qsoundeffect.html