PySide6.QtMultimedia.QAudioFormat

class QAudioFormat

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

概要

方法

静态函数

注意

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

详细描述

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

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

参数

描述

采样率

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

通道数量

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

示例格式

流中音频样本的格式

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

您可以通过QAudioDevice中的函数获取与使用的音频设备兼容的音频格式。此类还允许您查询设备的可用参数值,以便您可以自己设置参数。详情请参阅QAudioDevice类描述。您需要知道您希望播放或录制的音频流的格式。

所有通道的样本将被交错排列。在Qt Multimedia(以及其他地方)中,同一时间点的每个通道的一个样本被称为一帧。

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中添加。

class ChannelConfig

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

常量

描述

QAudioFormat.ChannelConfigUnknown

声道配置未知。

QAudioFormat.ChannelConfigMono

音频有一个中央声道。

QAudioFormat.ChannelConfigStereo

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

QAudioFormat.ChannelConfig2Dot1

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

QAudioFormat.ChannelConfig3Dot0

音频有三个声道,左声道、右声道和中置声道。

QAudioFormat.ChannelConfig3Dot1

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

QAudioFormat.ChannelConfigSurround5Dot0

音频有五个声道,左、右、中、BackLeftBackRight

QAudioFormat.ChannelConfigSurround5Dot1

音频有6个声道,左、右、中、低频效果(LFE)、BackLeftBackRight

QAudioFormat.ChannelConfigSurround7Dot0

音频有7个声道,左、右、中、BackLeftBackRightSideLeftSideRight

QAudioFormat.ChannelConfigSurround7Dot1

音频有8个声道,左、右、中、低频效果(LFE)、BackLeftBackRightSideLeftSideRight

PySide6.QtMultimedia.QAudioFormat.NChannelPositions
bytesForDuration(microseconds)
Parameters:

微秒 – int

Return type:

整数

返回此音频格式所需的字节数,用于微秒

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

请注意,如果microseconds不是sampleRate()的精确分数,可能会出现一些舍入。

另请参阅

durationForBytes()

bytesForFrames(frameCount)
Parameters:

frameCount – int

Return type:

整数

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

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

另请参阅

bytesForDuration()

bytesPerFrame()
Return type:

整数

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

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

bytesPerSample()
Return type:

整数

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

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

channelConfig()
Return type:

ChannelConfig

返回当前通道配置。

另请参阅

setChannelConfig()

channelCount()
Return type:

整数

返回当前通道计数值。

另请参阅

setChannelCount()

channelOffset(channel)
Parameters:

channelAudioChannelPosition

Return type:

整数

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

static defaultChannelConfigForChannelCount(channelCount)
Parameters:

channelCount – 整数

Return type:

ChannelConfig

返回channelCount的默认通道配置。

默认配置最多定义了8个通道,对应于标准的单声道、立体声和环绕声配置。对于更高的通道数量,这仅使用AudioChannelPosition中定义的前channelCount个音频通道。

durationForBytes(byteCount)
Parameters:

byteCount – int

Return type:

整数

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

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

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

另请参阅

bytesForDuration()

durationForFrames(frameCount)
Parameters:

frameCount – int

Return type:

整数

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

framesForBytes(byteCount)
Parameters:

byteCount – int

Return type:

整数

返回此格式中由byteCount表示的帧数。

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

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

另请参阅

framesForDuration()

framesForDuration(microseconds)
Parameters:

微秒 – int

Return type:

整数

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

请注意,如果microseconds不是sampleRate()的精确分数,可能会出现一些舍入。

isValid()
Return type:

布尔

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

normalizedSampleValue(sample)
Parameters:

示例void

Return type:

浮点数

sample值归一化为-1到1之间的数字。该方法依赖于QaudioFormat。

__ne__(b)
Parameters:

bQAudioFormat

Return type:

布尔

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

__eq__(b)
Parameters:

bQAudioFormat

Return type:

布尔

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

sampleFormat()
Return type:

SampleFormat

返回当前的样本格式。

另请参阅

setSampleFormat()

sampleRate()
Return type:

整数

返回当前的采样率,单位为赫兹。

另请参阅

setSampleRate()

setChannelConfig(config)
Parameters:

配置ChannelConfig

将通道配置设置为 config

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

注意

这也会修改通道计数。

另请参阅

channelConfig()

setChannelCount(channelCount)
Parameters:

channelCount – 整数

将通道计数设置为channels。设置此值也会将通道配置设置为ChannelConfigUnknown

另请参阅

channelCount()

setSampleFormat(f)
Parameters:

fSampleFormat

将样本格式设置为 format

setSampleRate(sampleRate)
Parameters:

sampleRate – int

将采样率设置为samplerate赫兹。

另请参阅

sampleRate()