屏幕捕获QML类型
该类型用于捕获屏幕。 更多...
导入语句 | import QtMultimedia |
自 | Qt 6.5 |
实例化 | QScreenCapture |
属性
- active : bool
- error : 枚举
- errorString : 字符串
- screen : 屏幕对象
详细描述
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公司有限公司的商标。所有其他商标均为其各自所有者的财产。