WindowCapture QML Type
このタイプは、ウィンドウのキャプチャに使用されます。詳細...
| Import Statement: | import QtMultimedia |
| Since: | Qt 6.6 |
| In C++: | QWindowCapture |
プロパティ
- active : bool
- error : enumeration
- errorString : string
- maximumFrameRate : real
(since 6.12) - window : Window
信号
- errorChanged()
- errorOccurred(int error, string errorString)
方法
- list<CapturableWindow> capturableWindows()
- void start()
- void stop()
詳細な説明
WindowCaptureはウィンドウをキャプチャします。これはCaptureSession によって管理され、キャプチャされたウィンドウはビデオプレビューオブジェクトに表示したり、ファイルに記録したりすることができます。
以下のコードは、WindowCapture を使用して利用可能なウィンドウの 1 つをキャプチャし、VideoOutput で再生する簡単なキャプチャセッションを示しています。
CaptureSession {
id: captureSession
windowCapture: WindowCapture {
id: capture
}
videoOutput: VideoOutput {
id: videoOutput
}
Component.onCompleted: {
let windows = capture.capturableWindows()
if (windows.length > 0) {
capture.window = windows[0]
capture.active = true
}
}
}WindowCaptureの制限事項
WindowCaptureの使用には、以下の制限事項があります:
- WindowCaptureはFFmpegバックエンドでのみサポートされています。
- 一部のプラットフォームでは、キャプチャされたウィンドウの内容が変更されない間、新しいビデオフレームは出力されません。したがって、アプリケーションは、要求されたフレームレートでフレームの連続ストリームを受信できることを前提にしてはなりません。
X11システムでQWindowCapture を使用する場合、以下の制限が適用されます:
- Linux X11システムにおいて、ウィンドウが画面の可視領域から部分的に外れた場合、可視領域のみがキャプチャされます。その結果、出力されるビデオフレームのサイズは、ウィンドウのジオメトリよりも小さくなる可能性があります。
- 表示可能な画面領域の外側にあるウィンドウはキャプチャできず、その場合はエラー信号が出力されます。
- 最小化されたウィンドウや、非表示の仮想ワークスペース上にあるウィンドウの挙動は、ウィンドウマネージャによって異なります。たとえば、GNOME ではそのようなウィンドウもキャプチャできますが、WindowMaker や Xfwm ではキャプチャが許可されず、ウィンドウキャプチャインスタンスからエラーが発行されます。
CaptureSession およびCapturableWindowも参照してください 。
プロパティのドキュメント
active : bool
キャプチャが現在アクティブであるかどうかを示します。
error : enumeration [read-only]
最後のエラーのコードを返します。
| 定数 | 説明 |
|---|---|
WindowCapture.NoError | エラーなし |
WindowCapture.InternalError | 内部ウィンドウキャプチャドライバエラー |
WindowCapture.CapturingNotSupported | ウィンドウのキャプチャはサポートされていません |
WindowCapture.CaptureFailed | ウィンドウのキャプチャに失敗しました |
WindowCapture.NotFound | 選択したウィンドウが見つかりません |
errorString : string [read-only]
エラーの原因を説明する、人間が読みやすい文字列を返します。
maximumFrameRate : real [since 6.12]
ウィンドウキャプチャのフレームレートの上限値。
これは、ディスプレイのリフレッシュレートなどに基づいてデフォルトで使用されるキャプチャフレームレートを上書きするように設定できますが、ウィンドウキャプチャは可変レートでフレームを生成するため、あくまで上限値としてのみ機能します。これをディスプレイのリフレッシュレートよりも高く設定することは推奨されず、エラーの原因となる可能性があります。
-1 に設定すると、プラットフォーム依存のデフォルト値が使用されます。
このプロパティへの変更は、WindowCapture が次にアクティブになったときに適用されます。
このプロパティは Qt 6.12 で導入されました。
window : Window
キャプチャ対象のウィンドウを指定します。
アクティブなWindowCapture でこのプロパティを無効なウィンドウに設定すると、その は非アクティブ状態になり、エラーが発生します。
「capturableWindows」も参照してください 。
シグナルのドキュメント
errorChanged()
このシグナルは、error またはerrorString プロパティが変更されたときに発生します。
同一のエラーが複数回発生した場合、このシグナルは発火しません。そのようなエラーを追跡するには、errorOccurred シグナルを使用してください。
注: 対応するハンドラは onErrorChanged です。
errorOccurred(int error, string errorString)
error が発生した際に、errorString とともにシグナルを送信します。
error パラメータについて、渡すことができる値については、error の列挙型テーブルを参照してください。
注: 対応するハンドラは onErrorOccurred です。
「error」も参照してください 。
メソッドのドキュメント
list<CapturableWindow> capturableWindows()
現在キャプチャ可能なCapturableWindow オブジェクトのリストを返します。
注:macOSでは 、このメソッドを呼び出すと「画面録画」の権限ダイアログが表示されます。まだ権限が許可されていない場合、このメソッドは空のリストを返します。このメソッドを複数回呼び出すと、このダイアログが最前面に表示されます。
void start()
window のキャプチャを開始します。
これは、active プロパティをtrue に設定することと同じです。
void stop()
キャプチャを停止します。
これは、active プロパティをfalse に設定することと同じです。
© 2026 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.