Spec-Zone.ru › Qt 5.12

Класс 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
  • 1 свойство унаследовано от QObject

Публичные функции

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
  • 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

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

const QMetaObject staticMetaObject
QStringList supportedMimeTypes()
  • 9 статических публичных членов унаследованы от 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, &QPushButton::clicked, &m_explosion, &QSoundEffect::play);
}
private:
QSoundEffect m_explosion;

Поскольку QSoundEffect требует немного больше ресурсов для достижения воспроизведения с низкой задержкой, платформа может ограничить количество одновременно воспроизводимых звуковых эффектов.

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

перечисление QSoundEffect::Loop

Постоянная Значение Описание
QSoundEffect::Infinite -2 Используется как параметр для setLoopCount() для бесконечного циклирования

перечисление QSoundEffect::Status

Постоянная Значение Описание
QSoundEffect::Null 0 Не задан источник или источник пуст.
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/qt-5.12/qsoundeffect.html

Spec-Zone.ru

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