QMediaCaptureSession 类

QMediaCaptureSession 类允许捕获音频/视频内容。 更多...

头: #include <QMediaCaptureSession>
CMake: find_package(Qt6 REQUIRED COMPONENTS Multimedia)
target_link_libraries(mytarget PRIVATE Qt6::Multimedia)
qmake: QT += multimedia
实例化: CaptureSession
继承: QObject

特性

公共函数

QMediaCaptureSession (QObject * parent = nullptr)
virtual ~QMediaCaptureSession ()
QAudioInput * audioInput () const
QAudioOutput * audioOutput () const
QCamera * camera () const
QImageCapture * imageCapture ()
QMediaRecorder * recorder ()
QScreenCapture * screenCapture ()
void setAudioInput (QAudioInput * input )
void setAudioOutput (QAudioOutput * output )
void setCamera (QCamera * camera )
void setImageCapture (QImageCapture * imageCapture )
void setRecorder (QMediaRecorder * recorder )
void setScreenCapture (QScreenCapture * screenCapture )
void setVideoOutput (QObject * output )
void setVideoSink (QVideoSink * sink )
void setWindowCapture (QWindowCapture * windowCapture )
QObject * videoOutput () const
QVideoSink * videoSink () const
QWindowCapture * windowCapture ()

信号

void audioInputChanged ()
void audioOutputChanged ()
void cameraChanged ()
void imageCaptureChanged ()
void recorderChanged ()
void screenCaptureChanged ()
void videoOutputChanged ()
void windowCaptureChanged ()

详细描述

QMediaCaptureSession 是管理本地设备媒体捕获的中心类。

You can connect a video input to QMediaCaptureSession using setCamera (), setScreenCapture () 或 setWindowCapture ()。可以看到捕获媒体的预览通过设置 QVideoWidget or QGraphicsVideoItem 使用 setVideoOutput ().

You can connect a microphone to QMediaCaptureSession using setAudioInput (). The captured sound can be heard by routing the audio to an output device using setAudioOutput ().

可以从摄像头捕获静止图像通过设置 QImageCapture 对象在捕获会话,和录制音频/视频使用 QMediaRecorder .

另请参阅 QCamera , QAudioDevice , QMediaRecorder , QImageCapture , QScreenCapture , QWindowCapture , QMediaRecorder ,和 QGraphicsVideoItem .

特性文档编制

audioInput : QAudioInput *

Returns the device that is being used to capture audio.

访问函数:

QAudioInput * audioInput () const
void setAudioInput (QAudioInput * input )

通知程序信号:

void audioInputChanged ()

audioOutput : QAudioOutput *

Returns the audio output for the session.

访问函数:

QAudioOutput * audioOutput () const
void setAudioOutput (QAudioOutput * output )

通知程序信号:

void audioOutputChanged ()

camera : QCamera *

This property holds the camera used to capture video.

Record video or take images by adding a camera to the capture session using this property.

访问函数:

QCamera * camera () const
void setCamera (QCamera * camera )

通知程序信号:

void cameraChanged ()

imageCapture : QImageCapture *

此特性保持用于捕获静止图像的对象。

添加 QImageCapture object to the capture session to enable capturing of still images from the camera.

访问函数:

QImageCapture * imageCapture ()
void setImageCapture (QImageCapture * imageCapture )

通知程序信号:

void imageCaptureChanged ()

recorder : QMediaRecorder *

此特性保持用于捕获音频/视频的录制器对象。

添加 QMediaRecorder object to the capture session to enable recording of audio and/or video from the capture session.

访问函数:

QMediaRecorder * recorder ()
void setRecorder (QMediaRecorder * recorder )

通知程序信号:

void recorderChanged ()

[since 6.5] screenCapture : QScreenCapture *

This property holds the object used to capture a screen.

Record a screen by adding a screen capture object to the capture session using this property.

This property was introduced in Qt 6.5.

访问函数:

QScreenCapture * screenCapture ()
void setScreenCapture (QScreenCapture * screenCapture )

通知程序信号:

void screenCaptureChanged ()

videoOutput : QObject *

Returns the video output for the session.

访问函数:

QObject * videoOutput () const
void setVideoOutput (QObject * output )

通知程序信号:

void videoOutputChanged ()

[since 6.6] windowCapture : QWindowCapture *

This property holds the object used to capture a window.

Record a window by adding a window capture objet to the capture session using this property.

This property was introduced in Qt 6.6.

访问函数:

QWindowCapture * windowCapture ()
void setWindowCapture (QWindowCapture * windowCapture )

通知程序信号:

void windowCaptureChanged ()

成员函数文档编制

[explicit] QMediaCaptureSession:: QMediaCaptureSession ( QObject * parent = nullptr)

Creates a session for media capture from the parent 对象。

[virtual noexcept] QMediaCaptureSession:: ~QMediaCaptureSession ()

Destroys the session.

void QMediaCaptureSession:: setAudioInput ( QAudioInput * input )

Sets the audio input device to input . If setting it to an empty QAudioDevice the capture session will use the default input as defined by the operating system.

注意: Setter 函数对于特性 audioInput .

另请参阅 audioInput ().

void QMediaCaptureSession:: setAudioOutput ( QAudioOutput * output )

Sets the audio output device to output .

Setting an audio output device enables audio routing from an audio input device.

注意: Setter 函数对于特性 audioOutput .

另请参阅 audioOutput ().

void QMediaCaptureSession:: setVideoOutput ( QObject * output )

设置 QObject , ( output ), to a video preview for the capture session.

A QObject based preview is expected to have an invokable videoSink () method that returns a QVideoSink .

The previously set preview is detached.

注意: Setter 函数对于特性 videoOutput .

另请参阅 videoOutput ().

void QMediaCaptureSession:: setVideoSink ( QVideoSink * sink )

设置 QVideoSink , ( sink ), to a video preview for the capture session.

A QObject based preview is expected to have an invokable videoSink () method that returns a QVideoSink .

The previously set preview is detached.

另请参阅 videoSink ().

QVideoSink *QMediaCaptureSession:: videoSink () const

返回 QVideoSink for the session.

另请参阅 setVideoSink ().