class QAudioFormat#

QAudioFormat 类存储音频流参数信息。 更多信息...

概述#

方法#

静态函数#

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

详细描述#

音频格式指定了原始音频流中的数据如何排列。例如,如何解释流。

QAudioFormat 包含指定音频样本数据排列方式的参数。这些参数包括频率、通道数和样本格式。以下表格更详细地描述了这些参数。

参数

描述

采样率

每秒音频数据的采样次数,单位为赫兹。

通道数

音频通道的数量(通常是单声道一个通道或立体声两个通道)。这些是连续样本的数量,它们共同构成流中的一个帧

样本格式

流中音频样本的格式

此类与 QAudioSourceQAudioSink 结合使用,允许您指定正在读取或写入的音频流的参数,或者在处理内存中的样本时与 QAudioBuffer 一起使用。

您可以通过 QAudioDevice 中的函数获取与音频设备兼容的音频格式。此类还允许您查询设备可用的参数值,以便您自己设置这些参数。有关详细说明,请参阅 QAudioDevice 类描述。您需要知道您要播放或记录的音频流的格式。

所有通道的样本将被交织。每个通道在同一时间点的样本称为帧,在 Qt 多媒体(以及其他地方)中都是这样。

class SampleFormat#

Qt 总是期待和使用主机平台的位序来处理样本。当您自己处理来自外部源音频数据时,确保在将其写入 QAudioSinkQAudioBuffer 之前将其转换为正确的位序。

常量

描述

QAudioFormat.Unknown

未设置

QAudioFormat.UInt8

样本是 8 位无符号整数

QAudioFormat.Int16

样本是 16 位有符号整数

QAudioFormat.Int32

样本是 32 位有符号整数

QAudioFormat.Float

样本是浮点数

6.1 版本中引入。

class AudioChannelPosition#

描述可能的音频通道位置。这些遵循在 22.2 环绕声配置中使用的标准定义。

常量

描述

QAudioFormat.UnknownPosition

未知位置

QAudioFormat.FrontLeft

QAudioFormat.FrontRight

QAudioFormat.FrontCenter

QAudioFormat.LFE

低频效果通道(低音炮)

QAudioFormat.BackLeft

QAudioFormat.BackRight

QAudioFormat.FrontLeftOfCenter

QAudioFormat.FrontRightOfCenter

QAudioFormat.BackCenter

QAudioFormat.LFE2

QAudioFormat.SideLeft

QAudioFormat.SideRight

QAudioFormat.TopFrontLeft

QAudioFormat.TopFrontRight

QAudioFormat.TopFrontCenter

QAudioFormat.TopCenter

QAudioFormat.TopBackLeft

QAudioFormat.TopBackRight

QAudioFormat.TopSideLeft

QAudioFormat.TopSideRight

QAudioFormat.TopBackCenter

QAudioFormat.BottomFrontCenter

QAudioFormat.BottomFrontLeft

QAudioFormat.BottomFrontRight

新增于版本 6.2。

ChannelConfig#

此枚举描述了标准化的音频通道布局。最常见的配置是单声道、立体声、2.1(立体声加低频)、5.1环绕声和7.1环绕声配置。

常量

描述

QAudioFormat.ChannelConfigUnknown

通道配置未知。

QAudioFormat.ChannelConfigMono

音频有一个中心通道。

QAudioFormat.ChannelConfigStereo

音频有两个通道,左通道和右通道。

QAudioFormat.ChannelConfig2Dot1

音频有三个通道,左通道、右通道和LFE(低频效果)。

QAudioFormat.ChannelConfig3Dot0

音频有三个通道,左通道、右通道和中心通道。

QAudioFormat.ChannelConfig3Dot1

音频有四个通道,左通道、右通道、中心通道和LFE(低频效果)。

QAudioFormat.ChannelConfigSurround5Dot0

音频有五个通道,左通道、右通道、中心通道、后左通道和后右通道。

QAudioFormat.ChannelConfigSurround5Dot1

音频有6个通道,左通道、右通道、中心通道、LFE、后左通道和后右通道。

QAudioFormat.ChannelConfigSurround7Dot0

音频有7个通道,左通道、右通道、中心通道、后左通道、后右通道、侧左通道和侧右通道。

QAudioFormat.ChannelConfigSurround7Dot1

音频有8个通道,左通道、右通道、中心通道、LFE、后左通道、后右通道、侧左通道和侧右通道。

PySide6.QtMultimedia.QAudioFormat.NChannelPositions#
bytesForDuration(microseconds)#
参数:

microseconds – int

返回类型:

int

返回当前音频格式的微秒数所需要字节数。

如果此格式无效,则返回0。

注意:如果microseconds不是sampleRate()的精确分数,则可能会发生一些舍入。

另请参阅

durationForBytes()

bytesForFrames(frameCount)#
参数:

frameCount – int

返回类型:

int

返回此格式的frameCount帧所需的字节数。

如果此格式无效,则返回0。

另请参阅

bytesForDuration()

bytesPerFrame()#
返回类型:

int

返回在此格式中表示一个帧(每个通道中的一个样本)所需的字节数。

如果此格式无效,则返回0。

bytesPerSample()#
返回类型:

int

返回在此格式中表示一个样本所需的字节数。

如果此格式无效,则返回0。

channelConfig()#
返回类型:

ChannelConfig

返回当前声道配置。

channelCount()#
返回类型:

int

返回当前声道计数值。

另请参阅

setChannelCount()

channelOffset(channel)#
参数:

channelAudioChannelPosition

返回类型:

int

返回给定格式中一定音频channel在音频帧内的位置。如果此格式不存在该通道或通道配置未知,则返回-1。

静态 defaultChannelConfigForChannelCount(channelCount)#
参数:

channelCount – int

返回类型:

ChannelConfig

返回为channelCount生成的默认声道配置。

默认配置适用于最多8个通道,对应标准单声道、立体声和环绕声配置。对于更高的通道数量,只需使用在 AudioChannelPosition 中定义的第一个 channelCount 音频通道。

durationForBytes(byteCount)#
参数:

byteCount – int

返回类型:

int

返回此格式中 bytes 所表示的微秒数。

如果此格式无效,则返回0。

注意,如果 bytes 不是每帧字节数的精确倍数,可能会发生一些舍入。

另请参阅

bytesForDuration()

durationForFrames(frameCount)#
参数:

frameCount – int

返回类型:

int

返回此格式中 frameCount 帧所表示的微秒数。

framesForBytes(byteCount)#
参数:

byteCount – int

返回类型:

int

返回此格式中 byteCount 所代表的帧数。

注意,如果 byteCount 不是每帧字节数的精确倍数,可能会发生一些舍入。

每帧每个通道有一个样本。

另请参阅

framesForDuration()

framesForDuration(microseconds)#
参数:

microseconds – int

返回类型:

int

返回在此格式中表示 microseconds 所需要的帧数。

注意:如果microseconds不是sampleRate()的精确分数,则可能会发生一些舍入。

isValid()#
返回类型:

bool

如果所有参数都有效,则返回 true

normalizedSampleValue(sample)#
参数:

samplevoid

返回类型:

float

sample 值归一化到 -1 和 1 之间的数字。该方法取决于 QAudioFormat。

__ne__(b)#
参数:

bQAudioFormat

返回类型:

bool

如果音频格式 a 不等于 b,则返回 true,否则返回 false

__eq__(b)#
参数:

bQAudioFormat

返回类型:

bool

如果音频格式 a 等于 b,则返回 true,否则返回 false

sampleFormat()#
返回类型:

SampleFormat

返回当前采样格式。

另请参阅

setSampleFormat()

sampleRate()#
返回类型:

int

返回当前采样率(赫兹)。

另请参阅

setSampleRate()

setChannelConfig(config)#
参数:

configChannelConfig

将通道配置设置为 config

将音频格式的通道配置设置为标准音频通道配置之一。

这将也会修改通道数。

另请参阅

channelConfig()

setChannelCount(channelCount)#
参数:

channelCount – int

将通道数设置为 channels。设置此属性也将通道配置设置为 ChannelConfigUnknown

另请参阅

channelCount()

setSampleFormat(f)#
参数:

fSampleFormat

将采样格式设置为 format

setSampleRate(sampleRate)#
参数:

sampleRate – int

将采样率设置为赫兹为 samplerate

另请参阅

sampleRate()