- class QtAudio#
The QtAudio namespace contains enums used by the audio classes. More…
概述#
静态函数#
def
convertVolume()
注意
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)#
- 参数:
volume – float
from –
VolumeScale
to –
VolumeScale
- 返回类型:
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))