PySide6.QtSpatialAudio.QAudioEngine¶
- class QAudioEngine¶
QAudioEngine
管理一个三维声场。更多…概要¶
属性¶
方法¶
def
__init__()
def
distanceScale()
def
masterVolume()
def
outputDevice()
def
outputMode()
def
paused()
def
sampleRate()
def
setOutputMode()
def
setPaused()
插槽¶
信号¶
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
你可以使用
QAudioEngine
的实例来管理三维空间中的声场。声场由多个QSpatialSound
对象定义,这些对象定义了3D空间中指定位置的声音。你还可以使用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以获取以米为单位的数值。
- Access functions:
- property masterVolumeᅟ: float¶
设置或返回用于渲染声场的音量。
- Access functions:
- property outputDeviceᅟ: QAudioDevice¶
设置或返回用于播放声场的设备。
- Access functions:
- property outputModeᅟ: QAudioEngine.输出模式¶
设置或检索引擎的当前输出模式。
另请参阅
- Access functions:
- property pausedᅟ: bool¶
暂停空间音频引擎。
- Access functions:
- PySide6.QtSpatialAudio.QAudioEngine.DistanceScaleCentimeter¶
- PySide6.QtSpatialAudio.QAudioEngine.DistanceScaleMeter¶
- __init__()¶
- __init__(parent)
- Parameters:
父对象 –
QObject
- __init__(sampleRate[, parent=None])
- Parameters:
sampleRate – int
parent –
QObject
- distanceScale()¶
- Return type:
浮点数
另请参阅
属性
distanceScaleᅟ
的获取器。- distanceScaleChanged()¶
属性
distanceScaleᅟ
的通知信号。- masterVolume()¶
- Return type:
浮点数
另请参阅
属性
masterVolumeᅟ
的获取器。- masterVolumeChanged()¶
属性
masterVolumeᅟ
的通知信号。- outputDevice()¶
- Return type:
另请参阅
属性
outputDeviceᅟ
的获取器。- outputDeviceChanged()¶
属性
outputDeviceᅟ
的通知信号。- outputMode()¶
- Return type:
另请参阅
属性
outputModeᅟ
的获取器。- outputModeChanged()¶
属性
outputModeᅟ
的通知信号。- pause()¶
暂停播放。
- paused()¶
- Return type:
布尔
另请参阅
属性
pausedᅟ
的获取器。- pausedChanged()¶
属性
pausedᅟ
的通知信号。- resume()¶
恢复播放。
- roomEffectsEnabled()¶
- Return type:
布尔
如果房间效果已启用,则返回true。
- sampleRate()¶
- Return type:
整数
返回引擎已配置的采样率。
- setDistanceScale(scale)¶
- Parameters:
scale – 浮点数
另请参阅
属性
distanceScaleᅟ
的设置器。- setMasterVolume(volume)¶
- Parameters:
volume – 浮点数
另请参阅
属性
masterVolumeᅟ
的设置器。- setOutputDevice(device)¶
- Parameters:
设备 –
QAudioDevice
另请参阅
属性
outputDeviceᅟ
的设置器。- setOutputMode(mode)¶
- Parameters:
mode –
OutputMode
另请参阅
属性
outputModeᅟ
的设置器。属性
pausedᅟ
的设置器。- setRoomEffectsEnabled(enabled)¶
- Parameters:
enabled – 布尔值
启用房间效果,如回声和混响。
如果
enabled
为true,则启用房间效果。房间效果仅在你创建一个或多个QAudioRoom
对象并且听者位于至少一个房间内时才会应用。如果听者位于多个房间内,将使用体积最小的房间。另请参阅
- start()¶
启动引擎。
- stop()¶
停止引擎。