Тип QML SoundEffect
Тип SoundEffect предоставляет способ воспроизведения звуковых эффектов в QML. Подробнее...
| Заявление импорта: | import QtMultimedia 5.12 |
| Инициализирует: | QSoundEffect |
Свойства
- category : строка
- loops : целое число
- loopsRemaining : целое число
- muted : логическое значение
- playing : логическое значение
- source : url
- status : перечисление
- volume : qreal
Сигналы
- categoryChanged()
- loadedChanged()
- loopCountChanged()
- loopsRemainingChanged()
- mutedChanged()
- playingChanged()
- sourceChanged()
- statusChanged()
- volumeChanged()
Методы
Подробное описание
Этот тип позволяет воспроизводить несжатые аудиофайлы (обычно файлы WAV) с более низкой задержкой, и подходит для звуков «обратной связи» в ответ на действия пользователя (например, звуки виртуальной клавиатуры, положительная или отрицательная обратная связь для всплывающих диалоговых окон или звуки игр). Если низкая задержка не важна, рассмотрите использование типов MediaPlayer или Audio вместо этого, так как они поддерживают более широкий спектр форматов медиа и менее ресурсоемки.
Обычно звуковой эффект должен быть повторно использован, что позволяет выполнить весь процесс разбора и подготовки заранее и только запускать его при необходимости. Это легко реализовать в 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 : строка
Это свойство содержит категорию этого звукового эффекта.
Некоторые платформы могут выполнять разное аудио-маршрутизирование для разных категорий или могут позволить пользователю устанавливать различные уровни громкости для разных категорий.
Это значение будет проигнорировано на платформах, которые не поддерживают категории аудио.
loops : целое число
Это свойство содержит количество повторений воспроизведения звука. Значение 0 или 1 означает, что звук будет воспроизведен только один раз; установите значение SoundEffect.Infinite, чтобы включить бесконечное циклическое воспроизведение.
Значение можно изменить во время воспроизведения звукового эффекта, в этом случае оставшееся количество повторений будет обновлено до нового значения.
loopsRemaining : целое число
Это свойство содержит количество оставшихся повторений перед остановкой звукового эффекта, или SoundEffect.Infinite, если это было установлено в loops.
muted : логическое значение
Это свойство позволяет управлять отключением звука. Значение true отключит этот эффект. В противном случае воспроизведение будет происходить с текущим заданным volume.
playing : логическое значение
Это свойство указывает, воспроизводится ли звуковой эффект.
source : url
Это свойство содержит url для воспроизводимого звука. Для того, чтобы SoundEffect пытался загрузить источник, URL должен существовать, и приложение должно иметь разрешение на чтение в указанном каталоге. Если требуемый источник — это локальный файл, URL может быть указан как абсолютный, так и относительный (относительно файла, который объявил SoundEffect) путь.
status : перечисление
Это свойство указывает текущий статус SoundEffect, как перечислено в SoundEffect. Возможные статусы указаны ниже.
| Значение | Описание |
|---|---|
| SoundEffect.Null | Источник не задан или равен 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.
Документация по методам
логическое значение isLoaded()
Возвращает, завершила ли загрузка звукового эффекта источник.
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.12/qml-qtmultimedia-soundeffect.html