Spec-Zone.ru › Qt 5.15

Класс QSoundEffect

Класс QSoundEffect предоставляет способ воспроизведения звуковых эффектов с низкой задержкой. Подробнее...

Заголовок: #include <QSoundEffect>
qmake: QT += multimedia
Создаётся из: SoundEffect
Наследуется от: QObject
  • Список всех членов, включая унаследованные

Типы публичного доступа

перечисление Loop { Infinite }
перечисление Status { Null, Loading, Ready, Error }

Свойства

  • category : QString
  • loops : int
  • loopsRemaining : const int
  • muted : bool
  • playing : const bool
  • source : QUrl
  • status : const Status
  • volume : qreal

Функции публичного доступа

QSoundEffect(const QAudioDeviceInfo &audioDevice, QObject *parent = nullptr)
QSoundEffect(QObject *parent = nullptr)
virtual ~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
QSoundEffect::Status status() const
qreal volume() const

Свойства-слоты публичного доступа

void play()
void stop()

Сигналы

void categoryChanged()
void loadedChanged()
void loopCountChanged()
void loopsRemainingChanged()
void mutedChanged()
void playingChanged()
void sourceChanged()
void statusChanged()
void volumeChanged()

Статические члены публичного доступа

QStringList supportedMimeTypes()

Подробное описание

Этот класс позволяет воспроизводить не сжатые аудиофайлы (обычно 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 требует немного больше ресурсов для достижения воспроизведения с низкой задержкой, платформа может ограничить количество одновременно воспроизводимых звуковых эффектов.

Документация по типу членов

перечисление 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.

Функции доступа:

QSoundEffect::Status status() const

Сигнал уведомления:

void statusChanged()

volume : qreal

Это свойство содержит громкость воспроизведения звукового эффекта, от 0.0 (тишина) до 1.0 (полная громкость).

Функции доступа:

qreal volume() const
void setVolume(qreal volume)

Сигнал уведомления:

void volumeChanged()

Документация функций-членов

QSoundEffect::QSoundEffect(const QAudioDeviceInfo &audioDevice, QObject *parent = nullptr)

Создаёт QSoundEffect с заданным audioDevice и parent.

QSoundEffect::QSoundEffect(QObject *parent = nullptr)

Создаёт QSoundEffect с заданным parent.

[signal] void QSoundEffect::categoryChanged()

Сигнал categoryChanged генерируется, когда свойство category было изменено.

Примечание: Сигнал уведомления для свойства category.

[signal] void QSoundEffect::loadedChanged()

Сигнал loadedChanged генерируется, когда состояние загрузки изменилось.

[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.

[signal] void QSoundEffect::sourceChanged()

Сигнал sourceChanged генерируется, когда источник был изменён.

Примечание: Сигнал уведомления для свойства source.

[signal] void QSoundEffect::statusChanged()

Сигнал statusChanged генерируется, когда свойство status изменилось.

Примечание: Сигнал уведомления для свойства status.

[slot] void QSoundEffect::stop()

Остановить текущее воспроизведение.

[signal] void QSoundEffect::volumeChanged()

Сигнал volumeChanged генерируется при изменении громкости.

Примечание: Сигнал уведомления для свойства громкости.

[virtual] QSoundEffect::~QSoundEffect()

Уничтожает этот звуковой эффект.

QString QSoundEffect::category() const

Возвращает текущую категорию для этого звукового эффекта.

Некоторые платформы могут выполнять различное аудио-маршрутирование для разных категорий или могут позволять пользователю устанавливать разные уровни громкости для разных категорий.

Это значение будет проигнорировано на платформах, которые не поддерживают категории аудио.

Примечание: Функция-получатель для свойства category.

См. также setCategory().

bool QSoundEffect::isLoaded() const

Возвращает значение, указывающее, загрузил ли звуковой эффект источник source().

bool QSoundEffect::isMuted() const

Возвращает значение, указывающее, заглушен ли этот звуковой эффект.

Примечание: Функция-получатель для свойства muted.

bool QSoundEffect::isPlaying() const

Возвращает true, если звуковой эффект воспроизводится в данный момент, и false в противном случае.

Примечание: Функция-получатель для свойства playing.

int QSoundEffect::loopCount() const

Возвращает общее количество раз, которое этот звуковой эффект будет воспроизведён до остановки.

См. метод loopsRemaining() для получения количества оставшихся циклов.

Примечание: Функция-получатель для свойства loops.

См. также setLoopCount().

void QSoundEffect::setCategory(const QString &category)

Устанавливает категорию этого звукового эффекта на category.

Некоторые платформы могут выполнять различное аудио-маршрутирование для разных категорий или могут позволять пользователю устанавливать разные уровни громкости для разных категорий.

Это значение будет проигнорировано на платформах, которые не поддерживают категории аудио.

Если это значение изменено во время воспроизведения звукового эффекта, оно будет применено только после остановки воспроизведения.

Примечание: Функция-установщик для свойства category.

См. также category().

void QSoundEffect::setLoopCount(int loopCount)

Устанавливает общее количество воспроизведений этого звукового эффекта на loopCount.

Установление значения loop count на 0 или 1 означает, что звуковой эффект будет воспроизведён только один раз; передайте QSoundEffect::Infinite для неограниченного повторения. Значение loop count можно изменять во время воспроизведения звукового эффекта, в этом случае оставшиеся циклы будут обновлены до нового 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 (полная громкость). Значения вне этого диапазона будут ограничены.

По умолчанию громкость равна 1.0.

Уровни громкости в пользовательском интерфейсе обычно должны масштабироваться нелинейно. Например, использование логарифмической шкалы обеспечит линейные изменения в воспринимаемой громкости, что обычно ожидается от регулятора громкости. Более подробную информацию см. в QAudio::convertVolume().

Примечание: Функция-установщик для свойства volume.

См. также volume().

QUrl QSoundEffect::source() const

Возвращает URL текущего источника для воспроизведения.

Примечание: Функция-получатель для свойства source.

См. также setSource().

QSoundEffect::Status QSoundEffect::status() const

Возвращает текущий статус этого звукового эффекта.

Примечание: Функция-получатель для свойства status.

[static] QStringList QSoundEffect::supportedMimeTypes()

Возвращает список поддерживаемых типов MIME для этой платформы.

qreal QSoundEffect::volume() const

Возвращает текущую громкость этого звукового эффекта от 0.0 (тишина) до 1.0 (максимальная громкость).

Примечание: Функция-получатель для свойства volume.

См. также setVolume().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qsoundeffect.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API