屏幕捕获QML类型

该类型用于捕获屏幕。 更多...

导入语句import QtMultimedia
Qt 6.5
实例化 QScreenCapture

属性

详细描述

ScreenCapture捕获屏幕。它在MediaCaptureSession中管理,捕获的屏幕可以在视频预览对象中显示,或录制到文件。

以下代码展示了使用ScreenCapture的一个简单捕获会话,将捕获的主屏幕视图在< a href="qml-qtmultimedia-videooutput.html" translate="no">VideoOutput中回放。

CaptureSession {
    id: captureSession
    screenCapture: ScreenCapture {
        id: screenCapture
        active: true
    }
    videoOutput: VideoOutput {
        id: videoOutput
    }
}

屏幕捕获限制

在Qt 6.5.2及以上版本中,以下限制适用于使用ScreenCapture

  • 仅支持与FFmpeg后端。
  • 在Linux上,由于Wayland协议的限制和限制,不支持与使用Wayland组合器。
  • 除Android之外,不支持在移动操作系统上使用。在那里,由于当前通过QScreen::grabWindow实现,可能会遇到性能问题,这不适合使用场景。
  • 嵌入式系统使用EGLFS时,功能有限。对于Qt Quick应用程序,当前通过QQuickWindow::grabWindow实现,这可能导致性能问题。
  • 在大多数情况下,我们设置与屏幕刷新率相等的屏幕捕获帧率,但在Windows上可能更加灵活。这种帧率(75/120 FPS)如果捕获的是4K分辨率的屏幕,可能在性能较差的CPU上导致性能问题。在EGLFS上,当前捕获帧率锁定为30 FPS。

另请参阅窗口捕获捕获会话

属性文档

active : bool

描述捕获当前是否活跃。


error : enumeration [只读]

返回上次错误的代码。


errorString : string [只读]

返回描述错误原因的易读字符串。


screen : Screen

描述用于捕获的屏幕。


© 2024 Qt公司有限公司。本文件中包含的文档贡献分别是其各自的版权所有者的版权。本文件中提供的文档根据发布在Free Software Foundation的GNU自由文档许可协议1.3版的条款进行许可。Qt及其相应的标志是芬兰和/或世界上其他国家的Qt公司有限公司的商标。所有其他商标均为其各自所有者的财产。