class QtAudio#

The QtAudio namespace contains enums used by the audio classes. More

概述#

静态函数#

注意

This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE

详细说明#

class Error#

常量

描述

QtAudio.NoError

未发生错误

QtAudio.OpenError

打开音频设备时发生错误

QtAudio.IOError

在音频设备的读/写过程中发生错误

QtAudio.UnderrunError

音频数据未以足够快的速率提供给音频设备

QtAudio.FatalError

发生了不可恢复的错误,此时音频设备无法使用。

class State#

常量

描述

QtAudio.ActiveState

正在处理音频数据,在调用start()后并当有音频数据可供处理时设置此状态。

QtAudio.SuspendedState

音频流处于挂起状态。在调用suspend()后或当其他流接管音频设备时会进入此状态。在后一种情况下,调用resume()将把音频设备的控制权返回到此流。这通常只有在用户请求时才会这样做。

QtAudio.StoppedState

关闭了音频设备,没有处理任何音频数据

QtAudio.IdleState

传入的QIODevice没有数据,音频系统的缓冲区为空,在调用start()后并当没有音频数据可供处理时设置此状态。

class VolumeScale#

此枚举定义了不同的音频音量刻度。

常量

描述

QtAudio.LinearVolumeScale

线性刻度。 0.0 (0%) 是静音而 1.0 (100%) 是全音量。所有具有音频音量的 Qt Multimedia 类都使用线性刻度。

QtAudio.CubicVolumeScale

立方刻度。 0.0 (0%) 是静音而 1.0 (100%) 是全音量。

QtAudio.LogarithmicVolumeScale

对数刻度。 0.0 (0%) 是静音而 1.0 (100%) 是全音量。通常应对UI音量控制使用对数刻度。

QtAudio.DecibelVolumeScale

分贝(dB,幅度)对数刻度。 -200 是静音而 0 是全音量。

静态 convertVolume(volume, from, to)#
参数:
返回类型:

float

警告

本节包含自动从 C++ 翻译到 Python 的代码片段,可能包含错误。

将音频音量从一个音量刻度转换到另一个音量刻度,并返回结果。

根据上下文,不同的刻度被用来表示音频音量。所有使用音频音量的Qt多媒体类都使用线性刻度,原因是一个扬声器的响度是通过在线性刻度上调制其电压来控制的。另一方面,人类的耳朵是以对数方式感知响度的。因此,在大多数应用中使用对数刻度来控制音量是合适的。分贝刻度是本质上的对数刻度,通常用于定义声音级别,它通常用于专业音频应用的用户界面音量控件。立方刻度是对数刻度的计算性便宜近似,它为低音量级别提供了更多的控制。

以下示例显示如何将滑动控件中的音量值转换为传递给QMediaPlayer之前的音量值。因此,从20增加到30时的音量感知增加与从50增加到60时的音量感知增加相同。

def applyVolume(volumeSliderValue):

    # volumeSliderValue is in the range [0..100]
    linearVolume = QtAudio.convertVolume(volumeSliderValue / qreal(100.0),()
                                                QtAudio.LogarithmicVolumeScale,
                                                QtAudio.LinearVolumeScale)
    player.setVolume(qRound(linearVolume * 100))