Spec-Zone.ru › Qt 5.14

Класс QSoundEffect

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

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

Открытые типы

Перечисление Loop { Infinite }
Перечисление Статус { Null, Loading, Ready, Error }

Свойства

  • category : QString
  • loops : int
  • оставшиесяЦиклы : const int
  • muted : bool
  • playing : const bool
  • source : QUrl
  • статус : 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 оставшиесяЦиклы() 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::Статус

Константа Значение Описание
QSoundEffect::Null 0 Источник не задан или он пуст.
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

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

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.

Установка значения loopCount в 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 (полная громкость). Значения вне этого диапазона будут ограничены.

По умолчанию громкость равна 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.14/qsoundeffect.html

Spec-Zone.ru

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