本页内容

CaptureSession QML Type

支持捕获音频和视频内容。更多...

Import Statement: import QtMultimedia
In C++: QMediaCaptureSession

属性

信号

详细说明

这是负责管理本地设备上媒体捕获的核心类型。

通过将 Camera 和AudioInput 对象分配给相应的属性,将摄像头和麦克风连接到 CaptureSession。

将ScreenCapture 对象连接到screenCapture 属性,即可捕获屏幕。

将WindowCapture 对象连接到windowCapture 属性,即可捕获窗口。

将一个VideoOutput 元素赋值给videoOutput 属性,即可启用捕获媒体的预览功能。

通过将AudioOutput 对象赋值给audioOutput 属性,将音频路由到输出设备。

将ImageCapture 赋值给imageCapture 属性,即可从摄像头捕获静止图像。

将MediaRecorder 对象赋值给recorder属性,即可录制音频/视频。

CaptureSession {
    id: captureSession
    camera: Camera {
        id: camera
    }
    imageCapture: ImageCapture {
        id: imageCapture
    }

    recorder: MediaRecorder {
        id: recorder
    }
    videoOutput: preview

    Component.onCompleted: {
        camera.start()
    }
}

注意:为确保 相机在所有平台上都能开始捕获视频帧,请显式调用 camera.start(),通常在 Component.onCompleted 处理程序中进行。

另请参阅 Camera 、MediaDevices 、MediaRecorder 、ImageCapture 、ScreenCapture 、WindowCapture 、GStreamerVideoSource 、AudioInput 以及VideoOutput 。

属性文档

audioInput : AudioInput

该属性存储用于捕获音频的音频输入。

audioOutput : AudioOutput

捕获会话的音频输出设备。

向捕获会话中添加一个AudioOutput 设备,以启用从AudioInput 设备进行音频路由。

camera : Camera

用于录制视频的摄像头。

通过此属性将摄像头添加到捕获会话中,以录制视频或拍摄图片。

imageCapture : ImageCapture

用于拍摄静态图像的对象。

向捕获会话添加一个ImageCapture 接口,以启用从相机捕获静态图像的功能。

nativeVideoSource : GStreamerVideoSource [since 6.12]

用于捕获视频的原生视频源。

目前,仅可将GStreamerVideoSource 设置为原生视频源。一个捕获会话中,Camera 和GStreamerVideoSource 只能同时设置其中一个。

该属性在 Qt 6.12 中引入。

另请参阅 GStreamerVideoSource 和Camera 。

recorder : MediaRecorder

用于捕获音频/视频的录制器对象。

向捕获会话中添加一个 MediaRecorder 对象,以便从该捕获会话中录制音频和/或视频。

screenCapture : ScreenCapture [since 6.5]

用于捕获屏幕的对象。

通过此属性将屏幕捕获对象添加到捕获会话中,从而录制屏幕。

该属性于 Qt 6.5 中引入。

videoOutput : VideoOutput

VideoOutput ,即捕获会话的视频预览。

基于VideoOutput 的预览应具有一个可调用的videoSink()方法,该方法返回一个QVideoSink 。

先前设置的预览已被解除关联。

windowCapture : WindowCapture [since 6.6]

用于捕获窗口的对象。

通过此属性将窗口捕获对象添加到捕获会话中,从而捕获该窗口。

该属性于 Qt 6.6 版本中引入。

信号文档

audioInputChanged()

当音频输入发生变化时,会发出此信号。

注意: 相应的处理程序 为onAudioInputChanged 。

另请参阅 CaptureSession::audioInput 。

audioOutputChanged()

当选定的音频输出发生变化时,会发出此信号。

注意: 相应的处理程序 是onAudioOutputChanged 。

另请参阅 CaptureSession::audioOutput 。

cameraChanged()

当选中的摄像头发生变化时,会发出此信号。

注意: 相应的处理程序 为onCameraChanged 。

另请参阅 CaptureSession::camera 。

imageCaptureChanged()

当选定的接口发生变化时,会触发此信号。

注意: 相应的处理程序 为onImageCaptureChanged 。

另请参阅 CaptureSession::camera 。

nativeVideoSourceChanged()

当选定的原生视频源发生变化时,会发出此信号。

注意: 相应的处理程序 为onNativeVideoSourceChanged 。

另请参阅 CaptureSession::nativeVideoSource 。

recorderChanged()

当选定的记录器发生变化时,会发出此信号。

注意: 相应的处理程序 为onRecorderChanged 。

另请参阅 CaptureSession::recorder 。

videoOutputChanged()

当所选视频输出发生变化时,会发出此信号。

注意: 相应的处理程序 为onVideoOutputChanged 。

另请参阅 CaptureSession::videoOutput 。

© 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.