Spec-Zone.ru › Qt 5.13

Класс QSoundEffect

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

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

Типы

Перечисление Loop { Бесконечно }
Перечисление Статус { Нулевой, Загрузка, Готово, Ошибка }

Свойства

  • category : QString
  • loops : int
  • оставшиеся циклы : const int
  • немые : bool
  • играется : const bool
  • источник : QUrl
  • статус : const Статус
  • громкость : qreal

Открытые функции

QSoundEffect(const QAudioDeviceInfo &audioDevice, QObject *parent = nullptr)
QSoundEffect(QObject *parent = 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
QSoundEffect::Статус 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.

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

[signal] void QSoundEffect::sourceChanged()

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

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

[signal] void QSoundEffect::statusChanged()

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

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

[slot] void QSoundEffect::stop()

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

END_OF_DOCUMENT_MARKER

[signal] void QSoundEffect::volumeChanged()

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

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

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

Установка значения повторов 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().

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.13/qsoundeffect.html

Spec-Zone.ru

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