class QAudioBuffer#

QAudioBuffer 类代表一组具有特定格式和采样率的音频样本。更多信息

摘要#

方法#

注:

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

详细信息#

QAudioBuffer类用于将解码后的音频数据传递给QAudioDecoder类。音频缓冲区包含以特定QAudioFormat格式存储的数据,可以由format()方法查询。它还带有时间和持续时间信息。

要访问缓冲区内部存储的数据,请使用data()constData()方法。

音频缓冲区是显式共享的,在大多数情况下,在修改数据之前,你应该调用detach()

__init__()#

创建一个新的、空的非有效缓冲区。

__init__(other)
参数:

otherQAudioBuffer

other创建一个新的音频缓冲区。音频缓冲区是显式共享的,你应该在缓冲区上调用detach()来创建一个副本,然后可以对它修改。

__init__(data, format[, startTime=-1])
参数:

从提供的 data 创建一个新的音频缓冲区,格式为给定 format。该格式将确定如何从 data 中解释样本的数量和大小。

如果提供的 data 不是计算出的帧大小的整数倍,则多余的数据将不会使用。

此音频缓冲区将复制 data 的内容。

startTime(以微秒为单位)表示此缓冲区在流中的开始时间。如果此缓冲区不是流的一部分,请将其设置为 -1。

__init__(numFrames, format[, startTime=-1])
参数:
  • numFrames – int

  • 格式QAudioFormat

  • startTime – int

使用 format 给定的 numFrames 帧空间创建一个新的音频缓冲区。各个样本将初始化为格式的默认值。

startTime(以微秒为单位)表示此缓冲区在流中的开始时间。如果此缓冲区不是流的一部分,请将其设置为 -1。

byteCount()#
返回类型:

int

返回此缓冲区的字节数量。

duration()#
返回类型:

int

返回此缓冲区中音频的持续时间,单位为微秒。

这取决于 format()frameCount()

format()#
返回类型:

QAudioFormat

返回此缓冲区的 format

此格式的几个属性会影响从 frameCount() 计算出的 duration()byteCount()

frameCount()#
返回类型:

int

返回此缓冲区中完整音频帧的数量。

一个音频帧是一个交错集合,每个通道在相同时间点有一个样本。

isValid()#
返回类型:

bool

如果此是有效缓冲区,则返回 true。一个有效缓冲区在其内容中包含多个帧,并且有有效的格式。

sampleCount()#
返回类型:

int

返回此缓冲区中的样本数量。

如果此缓冲区的格式有多个通道,则此计数包括所有通道。这意味着总共有1000个样本的立体声缓冲区将包含500个左通道样本和500个右通道样本(交织),此函数将返回1000。

另请参阅

frameCount()

startTime()#
返回类型:

int

返回此缓冲区在流中的起始时间(以微秒为单位)。

如果此缓冲区不属于任何流,则将返回-1。

swap(other)#
参数:

otherQAudioBuffer

other交换音频缓冲区。