Spec-Zone.ru › Qt 5.12

Тип QML VideoOutput

Отображение видео или видоискателя камеры. Подробнее...

Заявление об импорте: import QtMultimedia 5.12
  • Список всех членов, включая унаследованные

Свойства

  • autoOrientation : bool
  • contentRect : rectangle
  • fillMode : перечисление
  • filters : список<объект>
  • orientation : int
  • source : вариант
  • sourceRect : rectangle

Методы

  • QPointF mapNormalizedPointToItem (const QPointF &point)
  • QRectF mapNormalizedRectToItem(const QRectF &rectangle)
  • QPointF mapPointToItem(const QPointF &point)
  • QPointF mapPointToSource(const QPointF &point)
  • QPointF mapPointToSourceNormalized(const QPointF &point)
  • QRectF mapRectToItem(const QRectF &rectangle)
  • QRectF mapRectToSource(const QRectF &rectangle)
  • QRectF mapRectToSourceNormalized(const QRectF &rectangle)

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

Rectangle {
    width: 800
    height: 600
    color: "black"

    MediaPlayer {
        id: player
        source: "file://video.webm"
        autoPlay: true
    }

    VideoOutput {
        id: videoOutput
        source: player
        anchors.fill: parent
    }
}

Элемент VideoOutput поддерживает отображение видео без преобразований, с растяжением и с равномерным масштабированием. Подробное описание отображения с растяжением и равномерным масштабированием см. в описании свойства fillMode.

Элемент VideoOutput работает с бэкендами, которые поддерживают QVideoRendererControl или QVideoWindowControl. Если бэкенд поддерживает только QVideoWindowControl, видео рендерится в оконном перекрытии, которое накладывается поверх окна QtQuick. Из-за особенностей видео-перекрытий, некоторые функции недоступны для таких бэкэндов:

  • Некоторые преобразования, такие как повороты
  • Наличие других элементов QtQuick поверх элемента VideoOutput

Однако большинство бэкэндов поддерживают QVideoRendererControl и, следовательно, не имеют указанных выше ограничений.

См. также MediaPlayer и Camera.

Документация по свойствам

autoOrientation : bool

Это свойство позволяет включить и выключить автоматическое определение ориентации видеопотока, чтобы его ориентация всегда соответствовала ориентации экрана. Если autoOrientation включено, свойство orientation перезаписывается.

По умолчанию autoOrientation отключено.

Это свойство было введено в QtMultimedia 5.2.

См. также orientation.

contentRect : rectangle

Это свойство содержит координаты области элемента, которая содержала бы рендерируемое видео. При определенных режимах заполнения этот прямоугольник будет больше, чем видимая область VideoOutput.

Это свойство полезно, когда другие координаты заданы относительно размеров источника - это применяется для относительных (нормализованных) координат кадра в диапазоне от 0 до 1,0.

Области за пределами этой будут прозрачными.

См. также mapRectToItem() и mapPointToItem().

fillMode : перечисление

Установите это свойство для определения того, как видео масштабируется для соответствия целевой области.

  • Stretch - видео масштабируется для соответствия.
  • PreserveAspectFit - видео масштабируется равномерно для соответствия без обрезки.
  • PreserveAspectCrop - видео масштабируется равномерно для заполнения, с обрезкой при необходимости.

По умолчанию режим заполнения - PreserveAspectFit.

filters : список<объект>

Это свойство содержит список видеофильтров, которые применяются к кадрам видео. Порядок фильтров в списке соответствует порядку их вызова для кадров видео. Объекты в списке должны быть экземплярами подкласса QAbstractVideoFilter.

См. также QAbstractVideoFilter.

orientation : int

В некоторых случаях исходный видеопоток требует определенной ориентации для корректного отображения. Это включает источники, такие как видоискатель камеры, где отображаемый видоискатель должен соответствовать реальности, независимо от поворота остальной части пользовательского интерфейса.

Это свойство позволяет применить поворот (шагами по 90 градусов) для компенсации любого поворота пользовательского интерфейса, при положительных значениях по часовой стрелке.

Изменение ориентации также повлияет на отображение координат от источника к области просмотра.

См. также autoOrientation.

source : вариант

Это свойство содержит элемент-источник, предоставляющий кадры видео, такие как MediaPlayer или Camera.

Если вы расширяете собственные классы C++ для взаимодействия с VideoOutput, вы можете либо предоставить базирующийся на QObject класс со свойством mediaObject, которое раскрывает класс, производный от QMediaObject, с доступным QVideoRendererControl, или вы можете предоставить базирующийся на QObject класс с записываемым свойством videoSurface, которое может принимать базирующийся на QAbstractVideoSurface класс и может следовать правильному протоколу для передачи QVideoFrames в него.

sourceRect : rectangle

Это свойство содержит область исходного видеоконтента, которая рассматривается для рендеринга. Значения находятся в координатах пикселей источника, скорректированные для соотношения сторон пикселей источника.

Обратите внимание, что обычно верхний левый угол этого прямоугольника будет 0,0, а ширина и высота будут шириной и высотой входного контента. Только когда у видеоисточника установлена область просмотра, эти значения будут отличаться.

Настройка ориентации не влияет на этот прямоугольник.

См. также QVideoSurfaceFormat::pixelAspectRatio() и QVideoSurfaceFormat::viewport().

Документация по методам

QPointF mapNormalizedPointToItem (const QPointF &point)

Взяв нормализованные координаты point (то есть каждый компонент в диапазоне от 0 до 1,0), возвращает преобразованную точку, которой соответствует (в координатах элемента). Это преобразование зависит от ориентации.

В зависимости от режима заполнения, эта точка может лежать вне рендерированной области.

QRectF mapNormalizedRectToItem(const QRectF &rectangle)

Взяв прямоугольник rectangle в нормализованных координатах (то есть каждый компонент в диапазоне от 0 до 1,0), возвращает преобразованный прямоугольник, которому соответствует (в координатах элемента). Это преобразование зависит от ориентации.

В зависимости от режима заполнения, этот прямоугольник может выходить за пределы рендерированной области.

QPointF mapPointToItem(const QPointF &point)

Взяв точку point в координатах источника, возвращает соответствующую точку в координатах элемента. Это преобразование зависит от ориентации.

В зависимости от режима заполнения, эта точка может лежать вне рендерированной области.

QPointF mapPointToSource(const QPointF &point)

Взяв точку point в координатах элемента, возвращает соответствующую точку в координатах источника. Это преобразование зависит от ориентации.

Если заданная точка находится за пределами рендерируемой области, возвращаемая точка будет находиться за пределами прямоугольника источника.

QPointF mapPointToSourceNormalized(const QPointF &point)

Взяв точку point в координатах элемента, возвращает соответствующую точку в нормализованных координатах источника. Это преобразование зависит от ориентации.

Если заданная точка находится за пределами рендерируемой области, возвращаемая точка будет находиться за пределами прямоугольника источника. При этом не выполняется ограничение.

QRectF mapRectToItem(const QRectF &rectangle)

При заданном прямоугольнике rectangle в координатах источника, вернуть соответствующий прямоугольник в координатах элемента. Это отображение зависит от ориентации.

В зависимости от режима заливки, этот прямоугольник может выходить за пределы отрисованного прямоугольника.

QRectF mapRectToSource(const QRectF &rectangle)

При заданном прямоугольнике rectangle в координатах элемента, вернуть соответствующий прямоугольник в координатах источника. Это отображение зависит от ориентации.

Это отображение зависит от ориентации.

Если заданная точка находится за пределами области отрисовки, возвращенная точка будет находиться за пределами прямоугольника источника.

QRectF mapRectToSourceNormalized(const QRectF &rectangle)

При заданном прямоугольнике rectangle в координатах элемента, вернуть соответствующий прямоугольник в нормализованных координатах источника. Это отображение зависит от ориентации.

Это отображение зависит от ориентации.

Если заданная точка находится за пределами области отрисовки, возвращенная точка будет находиться за пределами прямоугольника источника. Никакое принудительное ограничение не выполняется.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/qml-qtmultimedia-videooutput.html

Spec-Zone.ru

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