Spec-Zone.ru › Qt

Тип QML Video

Удобный тип для отображения заданного видео. Подробнее...

Заявление об импорте: import QtMultimedia
Наследует:

Item

  • Список всех членов, включая унаследованные члены

Свойства

  • 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

Сигналы

  • paused()
  • playing()
  • stopped()

Методы

  • pause()
  • play()
  • seek(offset)
  • stop()

Подробное описание

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API