Тип QML VideoOutput
Отображает видео или видоискатель камеры. Подробнее...
| Оператор импорта: | import QtMultimedia 5.13 |
Свойства
- autoOrientation : bool
- contentRect : rectangle
- fillMode : перечисление
- filters : список<объект>
- flushMode : перечисление
- 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 выключено.
Это свойство было добавлено в Qt 5.2.
См. также orientation.
contentRect : rectangle
Это свойство содержит координаты элемента области, которая содержала бы видео для рендеринга. При определённых режимах заполнения этот прямоугольник будет больше, чем видимая область VideoOutput.
Это свойство полезно, когда другие координаты задаются в терминах размеров источника — это относится к относительным (нормализованным) координатам кадра в диапазоне от 0 до 1,0.
Области вне этого будут прозрачными.
См. также mapRectToItem() и mapPointToItem().
fillMode : перечисление
Установите это свойство, чтобы определить, как видео масштабируется для соответствия целевой области.
- Растянуть - видео масштабируется для соответствия.
- Сохранить соотношение сторон - видео масштабируется равномерно для соответствия без обрезки.
- Сохранить соотношение сторон и обрезать - видео масштабируется равномерно для заполнения, обрезая при необходимости.
По умолчанию режим заполнения PreserveAspectFit.
filters : список<объект>
Это свойство содержит список фильтров видео, которые применяются к кадрам видео. Порядок фильтров в списке соответствует порядку их вызова для кадров видео. Объекты в списке должны быть экземплярами подкласса QAbstractVideoFilter.
См. также QAbstractVideoFilter.
flushMode : перечисление
Установите это свойство, чтобы определить, что VideoOutput должно отображаться при завершении или остановке воспроизведения.
- EmptyFrame - очищает вывод видео.
- FirstFrame - отображает первый допустимый кадр.
- LastFrame - отображает последний допустимый кадр.
По умолчанию режим flushMode равен EmptyFrame.
Это свойство было добавлено в Qt 5.13.
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.13/qml-qtmultimedia-videooutput.html