Тип QML SoundEffect
Тип SoundEffect предоставляет способ воспроизведения звуковых эффектов в QML. Подробнее...
| Заявление об импорте: | import QtMultimedia 5.13 |
| Создаёт: | QSoundEffect |
Свойства
- category : строка
- loops : целое число
- loopsRemaining : целое число
- muted : логическое значение
- playing : логическое значение
- source : url
- status : перечисление
- volume : qreal
Сигналы
- categoryChanged()
- loadedChanged()
- loopCountChanged()
- loopsRemainingChanged()
- mutedChanged()
- playingChanged()
- sourceChanged()
- statusChanged()
- volumeChanged()
Методы
Подробное описание
Этот тип позволяет воспроизводить не сжатые аудиофайлы (обычно WAV-файлы) с более низкой задержкой, что подходит для звуков «отклика» в ответ на действия пользователя (например, звуки виртуальной клавиатуры, положительная или отрицательная обратная связь для всплывающих диалоговых окон или звуки игр). Если низкая задержка не важна, рассмотрите использование типов MediaPlayer или Аудио вместо них, так как они поддерживают более широкий спектр форматов медиа и менее ресурсоёмки.
Обычно звуковой эффект должен использоваться повторно, что позволяет выполнить все операции парсинга и подготовки заранее, а вызывать их только при необходимости. Это легко достигается в QML, так как вы можете объявить экземпляр SoundEffect и сослаться на него в других местах.
В следующем примере воспроизводится WAV-файл при нажатии мыши.
Text {
text: "Click Me!";
font.pointSize: 24;
width: 150; height: 50;
SoundEffect {
id: playSound
source: "soundeffect.wav"
}
MouseArea {
id: playArea
anchors.fill: parent
onPressed: { playSound.play() }
}
} Поскольку SoundEffect требует немного больше ресурсов для достижения воспроизведения с низкой задержкой, платформа может ограничить количество одновременно воспроизводимых звуковых эффектов.
Документация по свойствам
category : string
Это свойство содержит категорию этого звукового эффекта.
Некоторые платформы могут выполнять разное аудио-маршрутизирование для разных категорий или могут позволять пользователю устанавливать разные уровни громкости для разных категорий.
Это значение будет проигнорировано на платформах, которые не поддерживают категории аудио.
loops : int
Это свойство содержит количество повторов воспроизведения звука. Значение 0 или 1 означает, что звук будет воспроизведён только один раз; установите значение SoundEffect.Infinite для включения бесконечного циклического воспроизведения.
Значение можно изменить во время воспроизведения звукового эффекта, в этом случае оставшиеся циклы будут обновлены до нового значения.
loopsRemaining : int
Это свойство содержит количество оставшихся циклов перед остановкой звукового эффекта, или SoundEffect.Infinite, если это было установлено в loops.
muted : bool
Это свойство предоставляет способ управления отключением звука. Значение true отключит этот эффект. В противном случае, воспроизведение будет происходить с текущим заданным volume.
playing : bool
Это свойство указывает, воспроизводится ли звуковой эффект или нет.
source : url
Это свойство содержит url для воспроизводимого звука. Для загрузки SoundEffect источника URL должен существовать, и у приложения должны быть права чтения в указанном каталоге. Если желаемый источник — это локальный файл, путь к URL можно указать с использованием абсолютного или относительного (от файла, который объявил SoundEffect) путей.
status : перечисление
Это свойство указывает текущий статус SoundEffect, как перечислено в SoundEffect. Возможные состояния перечислены ниже.
| Значение | Описание |
|---|---|
| SoundEffect.Null | Источник не задан или он пустой. |
| SoundEffect.Loading | SoundEffect пытается загрузить источник. |
| SoundEffect.Ready | Источник загружен и готов к воспроизведению. |
| SoundEffect.Error | Во время операции произошла ошибка, например, при попытке загрузить источник. |
volume : qreal
Это свойство содержит громкость воспроизведения звукового эффекта.
Громкость масштабируется линейно от 0.0 (тишина) до 1.0 (полная громкость). Значения вне этого диапазона будут ограничены.
Значение по умолчанию для громкости равно 1.0.
Управляющие элементы громкости в пользовательском интерфейсе обычно должны масштабироваться нелинейно. Например, использование логарифмической шкалы обеспечит линейные изменения в воспринимаемой громкости, что обычно ожидается от элемента управления громкостью. Дополнительные сведения см. в QtMultimedia.convertVolume().
Документация по сигналам
categoryChanged()
Сигнал categoryChanged генерируется, когда изменилось свойство category.
Соответствующий обработчик — onCategoryChanged.
loadedChanged()
Сигнал loadedChanged генерируется, когда изменилось состояние загрузки.
Соответствующий обработчик — onLoadedChanged.
loopCountChanged()
Сигнал loopCountChanged генерируется, когда изменилось начальное количество циклов.
Соответствующий обработчик — onLoopCountChanged.
loopsRemainingChanged()
Сигнал loopsRemainingChanged генерируется, когда изменилось оставшееся количество циклов.
Соответствующий обработчик — onLoopsRemainingChanged.
mutedChanged()
Сигнал mutedChanged генерируется, когда изменилось состояние отключения звука.
Соответствующий обработчик — onMutedChanged.
playingChanged()
Сигнал playingChanged генерируется, когда изменилось свойство playing.
Соответствующий обработчик — onPlayingChanged.
sourceChanged()
Сигнал sourceChanged генерируется, когда изменился источник.
Соответствующий обработчик — onSourceChanged.
statusChanged()
Сигнал statusChanged генерируется, когда изменилось свойство status.
Соответствующий обработчик — onStatusChanged.
volumeChanged()
Сигнал volumeChanged генерируется, когда изменилась громкость.
Соответствующий обработчик — onVolumeChanged.
Документация по методам
bool isLoaded()
Возвращает значение, указывающее, завершилась ли загрузка звукового эффекта source.
play()
Начать воспроизведение звукового эффекта, циклически воспроизводя его заданное количество раз, указанное в свойстве loops.
Это — основной метод для SoundEffect.
SoundEffect {
id: playSound
source: "soundeffect.wav"
}
MouseArea {
id: playArea
anchors.fill: parent
onPressed: { playSound.play() }
} stop()
Остановить текущее воспроизведение.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qml-qtmultimedia-soundeffect.html