PySide6.QtSpatialAudio.QAudioEngine

class QAudioEngine

QAudioEngine 管理一个三维声场。更多

PySide6.QtSpatialAudio.QAudioEngine 的继承图

概要

属性

方法

插槽

信号

注意

本文档可能包含从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.输出模式

设置或检索引擎的当前输出模式。

另请参阅

OutputMode

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

  • parentQObject

distanceScale()
Return type:

浮点数

另请参阅

setDistanceScale()

属性 distanceScaleᅟ 的获取器。

distanceScaleChanged()

属性 distanceScaleᅟ 的通知信号。

masterVolume()
Return type:

浮点数

另请参阅

setMasterVolume()

属性 masterVolumeᅟ 的获取器。

masterVolumeChanged()

属性 masterVolumeᅟ 的通知信号。

outputDevice()
Return type:

QAudioDevice

另请参阅

setOutputDevice()

属性 outputDeviceᅟ 的获取器。

outputDeviceChanged()

属性 outputDeviceᅟ 的通知信号。

outputMode()
Return type:

OutputMode

另请参阅

setOutputMode()

属性 outputModeᅟ 的获取器。

outputModeChanged()

属性 outputModeᅟ 的通知信号。

pause()

暂停播放。

paused()
Return type:

布尔

另请参阅

setPaused()

属性 pausedᅟ 的获取器。

pausedChanged()

属性 pausedᅟ 的通知信号。

resume()

恢复播放。

roomEffectsEnabled()
Return type:

布尔

如果房间效果已启用,则返回true。

sampleRate()
Return type:

整数

返回引擎已配置的采样率。

setDistanceScale(scale)
Parameters:

scale – 浮点数

另请参阅

distanceScale()

属性 distanceScaleᅟ 的设置器。

setMasterVolume(volume)
Parameters:

volume – 浮点数

另请参阅

masterVolume()

属性 masterVolumeᅟ 的设置器。

setOutputDevice(device)
Parameters:

设备QAudioDevice

另请参阅

outputDevice()

属性 outputDeviceᅟ 的设置器。

setOutputMode(mode)
Parameters:

modeOutputMode

另请参阅

outputMode()

属性 outputModeᅟ 的设置器。

setPaused(paused)
Parameters:

暂停 – bool

另请参阅

paused()

属性 pausedᅟ 的设置器。

setRoomEffectsEnabled(enabled)
Parameters:

enabled – 布尔值

启用房间效果,如回声和混响。

如果enabled为true,则启用房间效果。房间效果仅在你创建一个或多个QAudioRoom对象并且听者位于至少一个房间内时才会应用。如果听者位于多个房间内,将使用体积最小的房间。

另请参阅

roomEffectsEnabled()

start()

启动引擎。

stop()

停止引擎。