Тип QML SoundEffect
Тип SoundEffect предоставляет способ воспроизведения звуковых эффектов в QML. Подробнее...
| Оператор импорта: | import QtMultimedia 5.8 |
| Создаёт: | 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 | Источник не задан или является пустым. |
| 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()
Возвращает, завершила ли загрузка звукового эффекта 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/archives/qt-5.11/qml-qtmultimedia-soundeffect.html