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公司注册商标。所有其他商标均为各自所有者的财产。