class QSpatialSound#

3D空间中的声音对象。更多

Inheritance diagram of PySide6.QtSpatialAudio.QSpatialSound

概要#

属性#

方法#

槽函数#

信号#

注释

此文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,也可以通过在https://bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。

详细描述#

QSpatialSound 表示三维空间中的一个可听对象。您可以为它在空间中定义位置和方向,设置播放的声音并定义对象的音量。

对象可以具有不同的衰减行为,主要向一个方向或球面发射声音,并表现得像是被其他对象遮挡。

class Loops#

允许您使用以下值来控制声音播放循环

常量

描述

QSpatialSound.Infinite

无限播放

QSpatialSound.Once

播放一次

class DistanceModel#

定义了声音的音量随听众距离缩放的方式。

常量

描述

QSpatialSound.DistanceModel.Logarithmic

音量随距离对数递减。

QSpatialSound.DistanceModel.Linear

音量随距离线性递减。

QSpatialSound.DistanceModel.ManualAttenuation

衰减量由manualAttenuation属性手动定义。

注释

from __feature__ import true_property被使用时,可以直接使用属性;否则通过访问函数使用。

property autoPlayᅟ: bool#

确定当指定了源时,声音是否应自动开始播放。

默认值是true

访问函数
property directivityᅟ: float#

定义声音源的指向性。0 的值表示声音均匀地向所有方向发射,而 1 的值表示源主要向前方发射声音。

有效值在 0 到 1 之间,默认为 0。

访问函数
property directivityOrderᅟ: float#

定义声音源指向性的顺序。较高的顺序意味着声音锥形定位更尖锐。

此属性的默认值和最小值为 1。

访问函数
property distanceCutoffᅟ: float#

定义了一个距离,在此距离之外的声音将会被截断。如果听众距离声音对象比截断距离远,那么它就不会再被听到。

访问函数
属性 distanceModel: QSpatialSound.DistanceModel#

定义此声音源的距离模型。音量从 sizedistanceCutoff 开始按比例减低。对于小于 size 的距离,音量保持不变,对于大于截止距离的距离,音量为零。

另请参阅

DistanceModel

访问函数
属性 loops: int#

确定声音播放多少次后播放器停止播放。将值设置为 Infinite 以无限循环播放当前声音。

默认值是 1

访问函数
属性 manualAttenuation: float#

如果将 distanceModel 设置为 ManualAttenuation,定义手动衰减因子。

访问函数
属性 nearFieldGain: float#

定义声音源的前场增益。有效值介于 0 和 1 之间。前场增益为 1 将使声音信号在接听者非常近的距离时的音量增加约 20 dB。

访问函数
属性 occlusionIntensity: float#

定义对象被遮挡的程度。0 表示对象完全没有遮挡,1 表示声音源被其他物体完全遮挡。

即使被完全遮挡的对象仍然可以听到,特别是高频会被减弱。此外,该对象仍将参与生成房间中的混响和反射。

大于 1 的值可用于进一步减弱来自源的直接声音。

默认值为 0。

访问函数
属性 position: QVector3D#

定义声音源在 3D 空间中的位置。默认单位为厘米。

另请参阅

distanceScale

访问函数
属性 rotation: QQuaternion#

定义声音源在 3D 空间中的朝向。

访问函数
属性 size: float#

定义声音源的大小。如果听者距离声音对象比大小近,音量将保持不变。大小也用于遮挡计算,大源可以被墙壁部分遮挡。

访问函数
属性 source: QUrl#

要播放的声音的源文件。

访问函数
属性 volume: float#

定义声音的音量。

介于0和1之间的值会衰减声音,而高于1的值会提供额外的增益提升。

访问函数
__init__(engine)#
参数:

engineQAudioEngine

engine 创建空间声音源。对象可以放置在3D空间中,并且越靠近听者,声音就越大。

autoPlay()#
返回类型:

bool

另请参阅

setAutoPlay()

属性 autoPlay 的获取器。

autoPlayChanged()#

属性 autoPlay 的通知信号。

directivity()#
返回类型:

float

另请参阅

setDirectivity()

属性 directivity 的获取器。

directivityChanged()#

属性 directivity 的通知信号。

directivityOrder()#
返回类型:

float

另请参阅

setDirectivityOrder()

属性 directivityOrder 的获取器。

directivityOrderChanged()#

属性 directivityOrder 的通知信号。

distanceCutoff()#
返回类型:

float

另请参阅

setDistanceCutoff()

属性 distanceCutoff 的获取器。

distanceCutoffChanged()#

属性 distanceCutoff 的通知信号。

distanceModel()#
返回类型:

DistanceModel

另请参阅

setDistanceModel()

属性 distanceModel 的获取器。

distanceModelChanged()#

属性 distanceModel 的通知信号。

engine()#
返回类型:

QAudioEngine

返回与此监听器关联的引擎。

loops()#
返回类型:

int

另请参阅

setLoops()

属性 loops 的获取器。

loopsChanged()#

属性 loops 的通知信号。

manualAttenuation()#
返回类型:

float

另请参阅

setManualAttenuation()

属性 manualAttenuation 的获取器。

manualAttenuationChanged()#

属性 manualAttenuation 的通知信号。

nearFieldGain()#
返回类型:

float

另请参阅

setNearFieldGain()

属性 nearFieldGain 的获取器。

nearFieldGainChanged()#

属性 nearFieldGain 的通知信号。

occlusionIntensity()#
返回类型:

float

属性 occlusionIntensityᅟ 的获取器。

occlusionIntensityChanged()#

属性 occlusionIntensityᅟ 的通知信号。

pause()#

暂停声音播放。调用 play() 将继续播放。

play()#

开始播放声音。如果声音已播放,则不做任何操作。

position()#
返回类型:

QVector3D

另请参阅

setPosition()

属性 positionᅟ 的获取器。

positionChanged()#

属性 positionᅟ 的通知信号。

rotation()#
返回类型:

QQuaternion

另请参阅

setRotation()

属性 rotationᅟ 的获取器。

rotationChanged()#

属性 rotationᅟ 的通知信号。

setAutoPlay(autoPlay)#
参数:

autoPlay – bool

另请参阅

autoPlay()

属性 autoPlayᅟ 的设置器。

setDirectivity(alpha)#
参数:

alpha – float

另请参阅

directivity()

属性 directivityᅟ 的设置器。

setDirectivityOrder(alpha)#
参数:

alpha – float

另请参阅

directivityOrder()

属性 directivityOrderᅟ 的设置器。

setDistanceCutoff(cutoff)#
参数:

cutoff – float

另请参阅

distanceCutoff()

属性 distanceCutoff 的设置器。

setDistanceModel(model)#
参数:

modelDistanceModel

另请参阅

distanceModel()

属性 distanceModel 的设置器。

setLoops(loops)#
参数:

loops – int

另请参阅

loops()

属性 loops 的设置器。

setManualAttenuation(attenuation)#
参数:

attenuation – float

另请参阅

manualAttenuation()

属性 manualAttenuation 的设置器。

setNearFieldGain(gain)#
参数:

gain – float

另请参阅

nearFieldGain()

属性 nearFieldGain 的设置器。

setOcclusionIntensity(occlusion)#
参数:

occlusion – float

另请参阅

occlusionIntensity()

属性 occlusionIntensity 的设置器。

setPosition(pos)#
参数:

posQVector3D

另请参阅

position()

属性 position 的设置器。

setRotation(q)#
参数:

qQQuaternion

另请参阅

rotation()

设置属性 rotationᅟ 的访问者。

setSize(size)#
参数:

size – float

另请参阅

size()

设置属性 sizeᅟ 的访问者。

setSource(url)#
参数:

urlQUrl

另请参阅

source()

设置属性 sourceᅟ 的访问者。

setVolume(volume)#
参数:

volume – float

另请参阅

volume()

设置属性 volumeᅟ 的访问者。

size()#
返回类型:

float

另请参阅

setSize()

获取属性 sizeᅟ 的值。

sizeChanged()#

属性 sizeᅟ 的通知信号。

source()#
返回类型:

QUrl

另请参阅

setSource()

获取属性 sourceᅟ 的值。

sourceChanged()#

属性 sourceᅟ 的通知信号。

stop()#

停止声音播放并重置当前位置和当前循环次数为0。调用 play() 将从头开始播放声音文件。

volume()#
返回类型:

float

另请参阅

setVolume()

获取属性 volumeᅟ 的值。

volumeChanged()#

属性volume的通知信号。