1、概述
VideoOutput 是 QML(Qt Modeling Language)中的一个类型,主要用于渲染视频或相机取景的区域。它可以通过其 source
属性设置视频源,这些视频源可以是 MediaPlayer(多媒体播放器)、Camera(摄像头)等。VideoOutput 提供了一种简单而高效的方式来显示视频内容,并支持多种填充模式、滤镜和旋转设置。
2、重要属性
- source:此属性保存提供视频帧的源项,如 MediaPlayer 或 Camera。它决定了 VideoOutput 显示的内容来源。
- fillMode:设置此属性以定义如何缩放视频以适应目标区域。常见的填充模式有 Stretch(拉伸以适应)、PreserveAspectFit(按比例缩放以适配而不裁剪)和 PreserveAspectCrop(按比例缩放以填充,必要时裁剪)。
- orientation:在某些情况下,源视频流需要特定方向才能正确显示。此属性允许施加旋转(以90度为步长),以补偿任何用户界面的旋转。
- autoOrientation:从 QtMultimedia 5.2 引入的属性,当设置为 true 时,VideoOutput 会自动调整预览视频的方向。
- filters:此属性包含在视频帧上运行的视频滤镜列表。列表中的滤镜顺序与它们在视频帧上调用的顺序相匹配。
- flushMode:设置此属性以定义当播放结束或停止时 VideoOutput 应显示的内容。常见的模式有空帧(EmptyFrame)、第一帧(FirstFrame)和最后一帧(LastFrame)。
3、重要方法
- mapNormalizedPointToItem:给定归一化坐标点(即每个组件在0到1.0的范围内),返回与之对应的映射点(在项坐标中)。
- mapNormalizedRectToItem:给定一个在归一化坐标中的矩形,返回与之对应的映射矩形(在项坐标中)。
- mapPointToItem:给定源坐标中的点,返回项坐标中对应的点。
- mapPointToSource:给定项坐标中的点,返回源坐标中对应的点。
- mapPointToSourceNormalized:给定项坐标中的点,返回归一化源坐标中对应的点。
- mapRectToItem:给定源坐标中的矩形,返回项坐标中对应的矩形。
- mapRectToSource:给定项坐标中的矩形,返回源坐标中对应的矩形。
- mapRectToSourceNormalized:给定项坐标中的矩形,返回归一化源坐标中对应的矩形。
Window {
visible: true
width: 800
height: 600
Rectangle {
width: 800
height: 600
color: "black"
MediaPlayer {
id: player
source: "qrc:/res/1.mp4"
autoPlay: true
onStatusChanged: {
console.log("status:" + status)
}
}
VideoOutput {
id: videoOutput
source: player
anchors.fill: parent
}
}
}
觉得有帮助的话,打赏一下呗。。
需要商务合作(定制程序)的欢迎私信!!