Тип QML Video
Удобный тип для отображения заданного видео. Подробнее...
| Заявление об импорте: | import QtMultimedia |
| Наследует: |
Свойства
- bufferProgress : real
- duration : int
- error : перечисление
- errorString : строка
- fillMode : перечисление
- hasAudio : bool
- hasVideo : bool
- loops : int
- metaData : mediaMetaData
- muted : bool
- orientation : int
- playbackRate : real
- playbackState : перечисление
- position : int
- seekable : bool
- source : url
- volume : real
Сигналы
Методы
Подробное описание
Video представляет собой удобный тип, объединяющий функциональность MediaPlayer и VideoOutput в одном. Он обеспечивает простую функциональность воспроизведения видео без необходимости объявления нескольких типов.
Ниже приведен пример кода для реализации воспроизведения видео в сцене.
Video {
id: video
width : 800
height : 600
source: "video.avi"
MouseArea {
anchors.fill: parent
onClicked: {
video.play()
}
}
focus: true
Keys.onSpacePressed: video.playbackState == MediaPlayer.PlayingState ? video.pause() : video.play()
Keys.onLeftPressed: video.seek(video.position - 5000)
Keys.onRightPressed: video.seek(video.position + 5000)
} Файл с исходным кодом, video.avi, воспроизводится при нажатии на родительский элемент MouseArea. Видео воспроизводится в области размером 800 на 600 пикселей, а его свойство id имеет значение video.
Обратите внимание, что, поскольку определены сигналы для Keys, нажатие:
- Пробел переключает кнопку паузы.
- Стрелка влево перемещает текущую позицию в видео на 5 секунд назад.
- Стрелка вправо продвигает текущую позицию в видео на 5 секунд вперёд.
Видео поддерживает отображение видео без преобразований, растяжения и равномерного масштабирования. Описание растяжения и равномерного масштабирования см. в описании свойства fillMode.
См. также MediaPlayer и VideoOutput.
Документация по свойствам
bufferProgress : real
Это свойство содержит количество заполненных данных буфера в данный момент, от 0.0 (пусто) до 1.0 (полно).
duration : int
Это свойство содержит продолжительность медиа в миллисекундах.
Если у медиа нет фиксированной продолжительности (например, прямой трансляция), это будет 0.
error : enumeration
Это свойство содержит состояние ошибки видео. Оно может быть одним из:
- MediaPlayer.NoError - нет текущей ошибки.
- MediaPlayer.ResourceError - видео не может быть воспроизведено из-за проблемы с выделением ресурсов.
- MediaPlayer.FormatError - формат видео не поддерживается.
- MediaPlayer.NetworkError - видео не может быть воспроизведено из-за проблем с сетью.
- MediaPlayer.AccessDenied - видео не может быть воспроизведено из-за недостаточных разрешений.
- MediaPlayer.ServiceMissing - видео не может быть воспроизведено, так как служба медиа не смогла быть создана.
errorString : string
Это свойство содержит строку, описывающую текущую ошибку более подробно.
fillMode : enumeration
Установите это свойство, чтобы определить, как видео масштабируется для соответствия целевой области.
- VideoOutput.Stretch - видео масштабируется для соответствия
- VideoOutput.PreserveAspectFit - видео масштабируется равномерно для соответствия без обрезки
- VideoOutput.PreserveAspectCrop - видео масштабируется равномерно для заполнения, с обрезкой, если необходимо
Поскольку этот тип предназначен для удобства в QML, он не поддерживает перечисления напрямую, поэтому для доступа к доступным режимам заполнения используются перечисления из VideoOutput.
По умолчанию режим заполнения - preserveAspectFit.
hasAudio : bool
Это свойство содержит информацию о том, содержит ли текущая медиа аудиоконтент.
hasVideo : bool
Это свойство содержит информацию о том, содержит ли текущая медиа видеоконтент.
loops : int
Определяет, сколько раз медиа будет воспроизводиться перед остановкой. Установите значение MediaPlayer.Infinite, чтобы циклически воспроизводить текущий медиафайл бесконечно.
Значение по умолчанию - 1. Установка этого свойства в 0 не оказывает никакого влияния.
metaData : mediaMetaData
Это свойство содержит метаданные для текущей медиа.
См. MediaPlayer.metaData для получения подробной информации о каждом ключе метаданных.
См. также mediaMetaData.
muted : bool
Это свойство содержит информацию о том, выключен ли аудиовыход.
orientation : int
Ориентация Video в градусах. Поддерживаются только кратные 90 градусов, то есть 0, 90, 180, 270, 360 и т.д.
playbackRate : real
Это свойство содержит скорость воспроизведения видео как кратное нормальной скорости.
playbackState : enumeration
Это только для чтения свойство, которое указывает состояние воспроизведения медиа.
- MediaPlayer.PlayingState - медиа воспроизводится
- MediaPlayer.PausedState - медиа приостановлено
- MediaPlayer.StoppedState - медиа остановлено
Стандартное состояние - MediaPlayer.StoppedState.
position : int
Это свойство содержит текущую позицию воспроизведения в миллисекундах.
Чтобы изменить это положение, используйте метод seek().
См. также seek().
seekable : bool
Это свойство содержит информацию о том, можно ли изменить позицию воспроизведения видео.
Если true, вызов метода seek() заставит воспроизведение перейти к новой позиции.
source : url
Это свойство содержит URL-адрес источника медиа.
volume : real
Это свойство содержит громкость аудио.
Громкость масштабируется линейно от 0.0 (тишина) до 1.0 (полная громкость). Значения вне этого диапазона будут ограничены.
По умолчанию громкость составляет 1.0.
Элементы управления громкостью в пользовательском интерфейсе обычно должны масштабироваться нелинейно. Например, использование логарифмической шкалы приведет к линейному изменению воспринимаемой громкости, что и ожидается от управления громкостью. Для получения дополнительной информации см. QAudio::convertVolume().
Документация по сигналам
paused()
Этот сигнал генерируется, когда воспроизведение приостановлено.
Примечание: Соответствующий обработчик - onPaused.
playing()
Этот сигнал генерируется, когда воспроизведение запущено или возобновлено.
Примечание: Соответствующий обработчик — onPlaying.
stopped()
Этот сигнал излучается, когда воспроизведение остановлено.
Примечание: Соответствующий обработчик — onStopped.
Документация по методам
pause()
Приостанавливает воспроизведение медиа.
play()
Начинает воспроизведение медиа.
seek(offset)
Если свойство seekable имеет значение true, переходит к текущей позиции воспроизведения offset.
Переход может быть асинхронным, поэтому свойство position может не обновиться немедленно.
См. также seekable и position.
stop()
Останавливает воспроизведение медиа.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qml-qtmultimedia-video.html