61-输入和显示-录制音频和视频及拍照-多媒体设备QMediaDevices

  • Post author:
  • Post category:其他




多媒体设备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() 视频输入设备发生改变时发送信号。



版权声明:本文为qq_40597070原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。