class QAudioDevice#

QAudioDevice 类提供了关于音频设备及其功能的信息。更多

摘要#

属性#

方法#

注意

本文档可能包含自动从C++转换为Python的片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译存在问题,您也可以通过在https:/bugreports.qt.io/projects/PYSIDE创建工单的方式告知我们。

详细描述#

警告

本节包含自动从C++转换为Python的片段,可能存在错误。

QAudioDevice 用于描述系统中的音频设备,无论是输入还是回放。

Qt 使用 QAudioDevice 来构建与该设备通信的类 – 例如 QAudioSourceQAudioSink 。它也被用来确定在录制会话或媒体播放期间使用的输入或输出设备。

您还可以查询每个设备所支持的格式。在本例中,“格式”是指包含通道数、采样率和采样类型的集合。一个格式由QAudioFormat类表示。

可以通过以下方式获取设备对这些参数的支持值: minimumChannelCount()maximumChannelCount()minimumSampleRate()maximumSampleRate()supportedSampleFormats() 。支持的组合取决于音频设备的能力。如果您需要特定格式,可以使用isFormatSupported()检查设备是否支持它。

sourceFile.setFileName("/tmp/test.raw")
sourceFile.open(QIODevice.ReadOnly)
format = QAudioFormat()
# Set up the format, eg.
format.setSampleRate(8000)
format.setChannelCount(1)
format.setSampleFormat(QAudioFormat.UInt8)
info = QAudioDevice(QMediaDevices.defaultAudioOutput())
if not info.isFormatSupported(format):
    qWarning() << "Raw audio format not supported by backend, cannot play audio."
    return

audio = QAudioSink(format, self)
audio.connect(QAudioSink::stateChanged, self.handleStateChanged)
audio.start(sourceFile)

可以从不QMediaDevices类中检索可用设备的集合。

例如

devices = QMediaDevices.audioOutputs()
for device in devices:
    print("Device: ", device.description())

在此代码示例中,我们遍历所有能够输出声音的设备,即在支持格式中播放音频流。对于每个找到的设备,我们简单地打印出设备名称。

class Mode#

描述此设备的模式。

常量

描述

QAudioDevice.Null

一个空设备。

QAudioDevice.Input

一个输入设备。

QAudioDevice.Output

一个输出设备。

注意

当使用`from __feature__ import true_property`时,可以直接使用属性,否则通过访问器函数。

property description: str#

返回音频设备的人际可读名称。

使用此字符串向用户展示设备。

访问函数
属性 id: QByteArray#

返回音频设备的标识符。

设备名称根据所使用的平台/音频插件有所不同。

它们是音频设备的唯一标识符。

访问函数
属性 isDefault: bool#

如果这是默认音频设备,则返回true。

访问函数
属性 mode: QAudioDevice.Mode#

返回此设备是输入设备还是输出设备。

访问函数
__init__(other)#
参数:

otherQAudioDevice

生成other的副本。

__init__()

构造一个空的QAudioDevice对象。

channelConfiguration()#
返回类型:

ChannelConfig

返回设备的通道配置。

description()#
返回类型:

str

属性 description 的获取器。

id()#
返回类型:

QByteArray

属性 id 的获取器。

isDefault()#
返回类型:

bool

属性 isDefault 的获取器。

isFormatSupported(format)#
参数:

格式QAudioFormat

返回类型:

bool

如果提供的 settings 被本 QAudioDevice 描述的音频设备所支持,则返回 true。

isNull()#
返回类型:

bool

返回此 QAudioDevice 对象是否包含有效的设备定义。

maximumChannelCount()#
返回类型:

int

返回支持的最大通道数。

通常是单声道为 1,立体声为 2。

maximumSampleRate()#
返回类型:

int

返回最大支持的采样率(单位:赫兹)。

minimumChannelCount()#
返回类型:

int

返回支持的最小通道数。

通常是单声道为 1,立体声为 2。

minimumSampleRate()#
返回类型:

int

返回最小支持的采样率(单位:赫兹)。

mode()#
返回类型:

模式

属性 modeᅟ 的获取器。

__ne__(other)#
参数:

otherQAudioDevice

返回类型:

bool

如果此 QAudioDevice 类表示一个与 other 不同的音频设备,则返回 true。

__eq__(other)#
参数:

otherQAudioDevice

返回类型:

bool

如果此 QAudioDevice 类表示与 other 相同的音频设备,则返回 true。

preferredFormat()#
返回类型:

QAudioFormat

返回该设备的默认音频格式设置。

这些设置由正在使用的平台/音频插件提供。

它们还依赖于正在使用的 QtAudio ::Mode。

典型的音频系统会提供类似以下内容

  • 输入设置:48000Hz 单声道 16 位。

  • 输出设置:48000Hz 立体声 16 位。

supportedSampleFormats()#
返回类型:

返回一个支持样本类型的QAudioFormat.SampleFormat列表。

返回支持的样本类型列表。

swap(other)#
参数:

otherQAudioDevice

将音频设备与other交换。