多媒体设备QMediaDevices
多媒体设备是指本机中的音频输入设备(如麦克风),音频输出设备(如音箱、头戴耳机)和视频输入设备(如摄像头)。
多媒体设备通过 QMediaDevices 类提供的方法来获取
- 音频输人输出设备类QAudioDevice
- 视频输入设备类QCameraDevice
用QMediaDevices QAudioDevice和QCameraDevice 创建设备实例的方法如下所示。
from PySide6.QtMultimedia import QMediaDevices,QAudioDevice,QCameraDevice
QMediaDevices(parent: Union[PySide6.QtCore.QObject,NoneType]= None)-> None
QAudioDevice(self)-> None
QAudioDevice(Other: PySide6.QtMultimedia.QAudioDevice)-> None
QCameraDevice(self)-> None
QCameraDevice(Other: PySide6.QtMultimedia.QCameraDevice)-> None
QMediaDevices QAudioDevice和QCameraDevice 的常用方法
QMediaDevices QAudioDevice和QCameraDevice 的常用方法分别如表所示
主要是先用QMediaDevices 提供的静态方法获取本机上的音频设备和视频输人设备,然后用QAudioDevice QCameraDevice 提供的方法分别获取音频设备和视频输人设备的详细信息。
多媒体设备QMediaDevices
QMediaDevices的方法 | 返回值的类型 | 说明 |
---|---|---|
[static]audioInputs() | List[QAudioDeviceJ | 获取音频输入设备 |
[static]defaultAudioInput() | QAudioDevice | 获取默认的音频输入设备 |
[static]audio()utputs() | ListCQAudioDevice] | 获取音频输出设备 |
[static]defaultAudioOutput() | QAudioDevice | 获取默认的音频输出设备 |
[static]videoInputs() | List[QCameraDevice] | 获取视频输人设备 |
[static]defaultVideoInput() | QCameraDevice | 获取默认的视频输人设备 |
音频输人输出设备类QAudioDevice
QAudioDevice的方法 | 返回值的类型 | 说 明 |
---|---|---|
description() | Str | 获取音频设备的信息 |
id() | QByteArray | 获取音频设备的识别号 |
isDefault() | bool | 获取是否是默认的音频设备 |
isFormatSupported(QAudioFormat) | bool | 获取音频设备是否支持某种音频格式 |
isNull() | bool | 获取设备是否有效 |
maximumChannelCount() | int | 获取音频设备支持的最大通道数 |
minimumChannelCount() | int | 获取音频设备支持的最小通道数 |
maximumSampleRate() | int | 获取音频设备支持的最大采样率(Hz) |
minimumSampleRate() | int | 获取音频设备支持的最小采样率(Hz) |
mode() | QAudioDevice.Mode | 获取音频设备是输入还是输出设备,返回值可取 QAudioDevice.Null(无效设备) QAudioDevice.Input(输人设备) QAudioDevice.Output(输出 设备) |
preferredFormat() | QAudioFormat | 获取音频设备的默认音频格式 |
supportedSampleFormats() | List[QAudioFormat.SampleFormat] | 获取音频设备支持的采样格式,格式有 QAudioFormat.UInt8 QAudioFormat.Intl6 QAudioFormat.Int32 QAudioFormat.Float QAudioFormat.Unknown |
视频输入设备类QCameraDevice
QCameraDevice的方法 | 返回值的类型 | 说明 |
---|---|---|
description() | Str | 获取视频输入设备的信息 |
id() | QByteArray | 获取视频输入设备的识别号 |
isDefault() | bool | 获取是否是默认的视频输入设备 |
isNull() | bool | 获取视频输入设备是否有效 |
photoResolutions() | List[QSize] | 获取视频输入设备的分辨率 |
position() | QCameraDevice,Position | 获取视频输入设备的位置,返回值可取 QCarmeraDevice.BackFace(后置摄像头)、QCameraDevice.FrontFace(前置摄像头)或 QCameraDevice.UnspecifiedPosition(位 置不确定) |
videoFormats() | List[QCameraFormat] | 获取视频输入设备支持的格式 |
信号
QMediaDevices的信号有
信号 | 说明 |
---|---|
audioInputsChanged() | 当音频输入设备发生改变时发送信号。 |
audioOutputsChanged() | 音频输出设备发生改变时发送信号。 |
videoInputsChanged() | 视频输入设备发生改变时发送信号。 |