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