ScreenCapture QML Type

この型は画面のキャプチャに使われる。詳細...

Import Statement: import QtMultimedia
Since: Qt 6.5
In C++: QScreenCapture

プロパティ

詳細説明

ScreenCapture は画面をキャプチャします。MediaCaptureSessionによって管理され、キャプチャした画面をビデオプレビューオブジェクトに表示したり、ファイルに記録したりすることができます。

以下のコードは、ScreenCapture がVideoOutput でキャプチャしたプライマリ画面のビューを再生する、簡単なキャプチャセッションを示しています。

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

スクリーンキャプチャの制限

Qt 6.5.2 以上では、ScreenCapture の使用には以下の制限があります:

  • FFmpeg バックエンドでのみサポートされています。
  • Waylandコンポジタを使用するLinuxシステムでは、スクリーンキャプチャの実装は実験的であり、以下の制限があります。Waylandプロトコルの制限により、QScreenCapture クラスのAPIを介してターゲット画面を設定したり取得したりすることはできません。代わりに、QScreenCapture::setActive(true) を起動すると、OSは画面選択ウィザードを表示します。画面キャプチャ機能を使用するには、XDG Desktop Portalおよび {https://pipewire.org/}{PipeWire} (0.3) を介してサポートされるScreenCastサービスのインストールが必要です。これらの制限は将来変更される可能性があります。
  • Android 以外のモバイル OS ではサポートされていません。Android での Screen Capture は、AndroidManifest.xml ファイルに追加のAndroid フォアグラウンド サービス許可を追加する必要があります:
    <manifest ...>
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE_MEDIA_PROJECTION" />
    <application ...>
        <service android:name="org.qtproject.qt.android.multimedia.QtScreenCaptureService"
            android:foregroundServiceType="mediaProjection"
            android:exported="false"/>
        </service>
    </application>
    </manifest>
  • EGLFSを搭載した組み込み機器では、機能に制限があります。Qt Quick アプリケーションの場合、このクラスは現在、QQuickWindow::grabWindow を介して実装されているため、パフォーマンス上の問題が発生する可能性があります。
  • ほとんどの場合、画面のリフレッシュ・レートに等しい画面キャプチャ・フレーム・レートを設定します。このようなフレームレート(75/120 FPS)は、キャプチャーされた画面が4K解像度の場合、弱いCPUでパフォーマンスの問題を引き起こす可能性があります。EGLFSでは、キャプチャフレームレートは現在30 FPSに固定されています。

WindowCapture およびCaptureSessionも参照して ください。

プロパティ ドキュメント

active : bool

キャプチャが現在アクティブかどうかを記述します。


error : enumeration [read-only]

最後に発生したエラーのコードを返します。


errorString : string [read-only]

エラーの原因を説明する、人間が読める文字列を返します。


screen : Screen

キャプチャー画面について説明します。


© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.