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) | |
虚拟 | ~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是本地设备上管理媒体捕获的中心类。
可以使用 setCamera()、setScreenCapture() 或 setWindowCapture() 将视频输入连接到 QMediaCaptureSession。通过在 QVideoWidget 或 QGraphicsVideoItem 上设置,可以使用 setVideoOutput() 查看捕获的媒体预览。
可以使用 setAudioInput() 将麦克风连接到 QMediaCaptureSession。通过使用 setAudioOutput() 将音频路由到输出设备,可以听到捕获的声音。
可以通过在捕获会话上设置一个 QImageCapture 对象从摄像头捕获静态图像,并使用 QMediaRecorder 记录音频/视频。
另请参阅 QCamera、QAudioDevice、QMediaRecorder、QImageCapture、QScreenCapture、QWindowCapture、QMediaRecorder 和 QGraphicsVideoItem。
属性文档
audioInput : QAudioInput*
返回用于捕获音频的设备。
访问函数
QAudioInput * | audioInput() const |
void | setAudioInput(QAudioInput *input) |
通知信号
void | audioInputChanged() |
audioOutput : QAudioOutput*
返回会话的音频输出。
访问函数
QAudioOutput * | audioOutput() const |
void | setAudioOutput(QAudioOutput *output) |
通知信号
void | audioOutputChanged() |
camera : QCamera*
此属性 holds 用于捕获视频的摄像头。
通过将摄像头添加到捕获会话中使用此属性来记录视频或拍摄图片。
访问函数
QCamera * | camera() const |
void | setCamera(QCamera *camera) |
通知信号
void | cameraChanged() |
imageCapture : QImageCapture*
此属性 holds 用于捕获静态图像的对象。
通过在此属性上添加 QImageCapture 对象将捕获会话添加到捕获会话中,以启用从摄像头捕获静态图像。
访问函数
QImageCapture * | imageCapture() |
void | setImageCapture(QImageCapture *imageCapture) |
通知信号
void | imageCaptureChanged() |
recorder : QMediaRecorder*
此属性 holds 用于捕获音频/视频的录制对象。
将 QMediaRecorder 对象添加到捕获会话以启用从捕获会话记录音频和/或视频。
访问函数
QMediaRecorder * | recorder() |
void | setRecorder(QMediaRecorder *recorder) |
通知信号
void | recorderChanged() |
[since 6.5]
screenCapture : QScreenCapture*
此属性 holds 用于捕获屏幕的对象。
通过在此属性上添加屏幕捕获对象使用此属性记录屏幕。
此属性自 Qt 6.5 引入。
访问函数
QScreenCapture * | screenCapture() |
void | setScreenCapture(QScreenCapture *screenCapture) |
通知信号
void | screenCaptureChanged() |
videoOutput : QObject*
返回会话的视频输出。
访问函数
QObject * | videoOutput() const |
void | setVideoOutput(QObject *output) |
通知信号
void | videoOutputChanged() |
[since 6.6]
windowCapture : QWindowCapture*
此属性包含了用于捕获窗口的对象。
通过将窗口捕获对象添加到捕获会话中,结合此属性来记录窗口。
此属性自 Qt 6.6 引入。
访问函数
QWindowCapture * | windowCapture() |
void | setWindowCapture(QWindowCapture *windowCapture) |
通知信号
void | windowCaptureChanged() |
成员函数文档
[明确]
QMediaCaptureSession::QMediaCaptureSession(QObject *parent = nullptr)
从parent对象创建媒体捕获会话。
[虚 无异常]
QMediaCaptureSession::~QMediaCaptureSession()
销毁会话。
void QMediaCaptureSession::setAudioInput(QAudioInput *input)
将音频输入设备设置为input。如果设置为空的QAudioDevice,则捕获会话将使用操作系统定义的默认输入。
注意:属性 audioInput 的设置函数。
另请参阅:audioInput()。
void QMediaCaptureSession::setAudioOutput(QAudioOutput *output)
将音频输出设备设置为output。
设置音频输出设备后,启用从音频输入设备到音频的音频路由。
注意:属性 audioOutput 的设置函数。
另请参阅:audioOutput()。
void QMediaCaptureSession::setVideoOutput(QObject *output)
将一个QObject(output)设置为捕获会话的视频预览。
基于QObject的预览应有一个可调用的videoSink()方法,该方法返回一个QVideoSink。
之前设置的预览会被移除。
注意:属性 videoOutput 的设置函数。
另请参阅:videoOutput()。
void QMediaCaptureSession::setVideoSink(QVideoSink *sink)
将一个QVideoSink(sink)设置为捕获会话的视频预览。
基于QObject的预览应有一个可调用的videoSink()方法,该方法返回一个QVideoSink。
之前设置的预览会被移除。
另请参阅:videoSink()。
QVideoSink *QMediaCaptureSession::videoSink() const
返回会话的QVideoSink。
另请参阅 setVideoSink。
© 2024 Qt公司有限公司。本文件中包含的文档贡献是各自拥有者的版权。本文件中提供的文档是根据自由软件基金会发布的GNU自由文档许可证版本1.3许可的。Qt及其相关标志是芬兰及/或全球其他国家的Qt公司注册商标。所有其他商标均为各自所有者的财产。