- class QAudioEngine#
QAudioEngine
管理三维声音场。更多…摘要#
属性#
方法#
def
__init__()
def
distanceScale()
def
masterVolume()
def
outputDevice()
def
outputMode()
def
paused()
定义
sampleRate()
定义
setPaused()
槽函数#
信号#
注意
本文档可能包含从 C++ 自动翻译到 Python 的片段。我们随时欢迎对片段翻译的贡献。如果您发现翻译中的问题,也可以通过在 https:/bugreports.qt.io/projects/PYSIDE 上创建工单的方式来告诉我们
详细说明#
您可以使用
QAudioEngine
的实例来管理三维空间中的声音场。声音场由多个定义在3D空间指定位置的QSpatialSound
对象组成。您还可以使用QAmbientSound
添加立体声遮罩。您可以使用
QAudioListener
来定义听者相对于声源的位置。如果听者离声源更远,声源的声音将更容易被忽略。根据听者和声源之间的方向,声源将被映射到相应的扬声器和耳机。QAudioEngine
提供了两种输出模式。第一种模式将声音场渲染到一组扬声器上,可以是立体声扬声器对或环绕配置。第二种模式在使用耳机时提供沉浸式的3D声音体验。声音定位感知主要受两个因素驱动。第一个因素是左右耳之间声波的时间差。第二个因素来自来自不同方向的声音如何从我们的耳朵和头部产生不同类型的反射。更多详情请参阅 https://en.wikipedia.org/wiki/Sound_localization。
空间音频引擎通过头部相关传输函数(HRTF,请参阅 https://en.wikipedia.org/wiki/Head-related_transfer_function)模拟这些时间差和反射。用于模拟这些效果的函数模拟了一个普通人的耳朵和头部。当使用耳机时,它为大多数人提供了良好的沉浸式3D声音定位体验。
该引擎相对灵活,允许您定义房间属性和混响设置来模拟不同类型的房间。
声音源也可以被遮挡,从而降低那些来源的声音。
默认情况下,音频引擎使用的坐标系是厘米单位。坐标轴与通常用于3D的典型坐标系对齐。正x指向右侧,正y指向上方,正z指向后方。
- class OutputMode#
常量
描述
QAudioEngine.Surround
将声音映射到输出设备的扬声器配置。这通常是立体声或环绕扬声器设置。
QAudioEngine.Stereo
将声音映射到输出设备的立体声扬声器配置。这将忽略任何其他扬声器,并仅使用左右通道来创建立体声渲染的声音场。
QAudioEngine.Headphone
使用耳机空间化在通过耳机收听声音场时创建3D音频效果。
注意
当使用
from __feature__ import true_property
时,可以直接使用属性,否则通过访问器函数使用。- property distanceScale: float#
定义了由空间音频引擎使用的坐标系统范围。默认情况下,所有单位均为厘米,与Qt Quick 3D默认使用的单位一致。
将距离比例设置为QAudioEngine::DistanceScaleMeter,获取以米为单位。
- 属性masterVolume: float#
设置或返回用于渲染声音场使用的音量。
- 属性outputDevice: QAudioDevice#
设置或返回用于播放声音场的设备。
- 属性outputMode: QAudioEngine.OutputMode#
设置或检索引擎当前输出模式。
另请参阅
- 属性paused: bool#
暂停空间音频引擎。
- 访问函数
- PySide6.QtSpatialAudio.QAudioEngine.DistanceScaleCentimeter#
- PySide6.QtSpatialAudio.QAudioEngine.DistanceScaleMeter#
- __init__(sampleRate[, parent=None])
- 参数:
sampleRate – int
parent –
QObject
- __init__()
- distanceScale()#
- 返回类型:
float
另请参阅
属性 getter
distanceScale
.- distanceScaleChanged()#
distanceScale
属性的通知信号。- masterVolume)#
- 返回类型:
float
另请参阅
属性 getter
masterVolume
.- masterVolumeChanged()#
masterVolume
属性的通知信号。- outputDevice()#
- 返回类型:
另请参阅
属性 getter
outputDevice
.- outputDeviceChanged()#
outputDevice
属性的通知信号。- outputMode()#
- 返回类型:
另请参阅
属性 getter
outputMode
.- outputModeChanged()#
outputMode
属性的通知信号。- pause()#
暂停播放。
- paused()#
- 返回类型:
bool
另请参阅
属性
pausedᅟ
的获取器。- pausedChanged()#
属性
pausedᅟ
的通知信号。- resume()#
恢复播放。
- roomEffectsEnabled()#
- 返回类型:
bool
如果启用了房间效果,则返回 true。
另请参阅
- sampleRate()#
- 返回类型:
int
返回引擎配置的采样率。
- setDistanceScale(scale)#
- 参数:
scale – float
另请参阅
属性
distanceScaleᅟ
的设置器。- setMasterVolume(volume)#
- 参数:
volume – float
另请参阅
属性
masterVolumeᅟ
的设置器。- setOutputDevice(device)#
- 参数:
device –
QAudioDevice
另请参阅
属性
outputDeviceᅟ
的设置器。- setOutputMode(mode)#
- 参数:
mode –
OutputMode
另请参阅
属性
outputModeᅟ
的设置器。属性
pausedᅟ
的设置器。- setRoomEffectsEnabled(enabled)#
- 参数:
enabled - 布尔类型
启用房间效果,例如回声和混响。
当
enabled
为真时,启用房间效果。如果创建了至少一个QAudioRoom
对象,且听者位于其中至少一个房间内,房间效果将生效。如果听者位于多个房间内,将使用体积最小的房间。另请参阅
- start()#
启动引擎。
- stop()#
停止引擎。