QMediaCaptureSession 类

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

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

特性

公共函数

QMediaCaptureSession (QObject * parent = nullptr)
virtual ~QMediaCaptureSession () override
QAudioBufferInput * audioBufferInput () const
QAudioInput * audioInput () const
QAudioOutput * audioOutput () const
QCamera * camera () const
QImageCapture * imageCapture ()
QMediaRecorder * recorder ()
QScreenCapture * screenCapture ()
void setAudioBufferInput (QAudioBufferInput * input )
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 setVideoFrameInput (QVideoFrameInput * input )
void setVideoOutput (QObject * output )
void setVideoSink (QVideoSink * sink )
void setWindowCapture (QWindowCapture * windowCapture )
QVideoFrameInput * videoFrameInput () const
QObject * videoOutput () const
QVideoSink * videoSink () const
QWindowCapture * windowCapture ()

信号

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

详细描述

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

可以连接视频输入到 QMediaCaptureSession 使用 setCamera (), setScreenCapture (), setWindowCapture () 或 setVideoFrameInput ()。可以看到捕获媒体的预览通过设置 QVideoWidget or QGraphicsVideoItem 使用 setVideoOutput ().

You can connect a microphone to QMediaCaptureSession using setAudioInput (), or set your custom audio input using setAudioBufferInput (). The captured sound can be heard by routing the audio to an output device using setAudioOutput ().

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

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

特性文档编制

[since 6.8] audioBufferInput : QAudioBufferInput *

This property holds the object used to send custom audio buffers to QMediaRecorder .

该特性在 Qt 6.8 引入。

访问函数:

QAudioBufferInput * audioBufferInput () const
void setAudioBufferInput (QAudioBufferInput * input )

通知程序信号:

void audioBufferInputChanged ()

audioInput : QAudioInput *

Returns the device that is being used to capture audio.

访问函数:

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

通知程序信号:

void audioInputChanged ()

audioOutput : QAudioOutput *

返回用于会话的音频输出。

访问函数:

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.

该特性在 Qt 6.5 引入。

访问函数:

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

通知程序信号:

void screenCaptureChanged ()

[since 6.8] videoFrameInput : QVideoFrameInput *

This property holds the object used to send custom video frames to QMediaRecorder or a video output.

该特性在 Qt 6.8 引入。

访问函数:

QVideoFrameInput * videoFrameInput () const
void setVideoFrameInput (QVideoFrameInput * input )

通知程序信号:

void videoFrameInputChanged ()

videoOutput : QObject *

返回用于会话的视频输出。

访问函数:

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.

该特性在 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 对象。

[override virtual noexcept] QMediaCaptureSession:: ~QMediaCaptureSession ()

销毁会话。

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 .

先前设置的预览被分离。

注意: 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 .

先前设置的预览被分离。

另请参阅 videoSink ().

QVideoSink *QMediaCaptureSession:: videoSink () const

返回 QVideoSink 对于会话。

另请参阅 setVideoSink ().