qml VideoOutput详解

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
        }
    }

}

觉得有帮助的话,打赏一下呗。。

           

需要商务合作(定制程序)的欢迎私信!! 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值