PySide6.QtSpatialAudio.QSpatialSound

class QSpatialSound

三维空间中的声音对象。更多

PySide6.QtSpatialAudio.QSpatialSound 的继承图

概要

属性

方法

插槽

信号

注意

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

详细描述

QSpatialSound 表示3D空间中的可听对象。您可以定义其在空间中的位置和方向,设置其播放的声音,并为对象定义音量。

该对象可以具有不同的衰减行为,主要在一个方向或球形方向上发出声音,并且表现得好像被其他物体遮挡了一样。

class Loops

(继承自 enum.IntEnum)允许你使用以下值控制声音播放循环:

常量

描述

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

Access functions:
property directivityᅟ: float

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

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

Access functions:
property directivityOrderᅟ: float

定义声源方向性的顺序。较高的顺序意味着声锥的定位更加精确。

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

Access functions:
property distanceCutoffᅟ: float

定义了一个距离,超过这个距离,来自声源的声音将被切断。如果听者离声音对象的距离超过切断距离,声音将不再可听。

Access functions:
property distanceModelᅟ: QSpatialSound.DistanceModel

定义此声源的距离模型。音量从size开始逐渐减小到distanceCutoff。对于小于size的距离,音量保持不变;对于大于截止距离的距离,音量为零。

另请参阅

DistanceModel

Access functions:
property loopsᅟ: int

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

默认值为1

Access functions:
property manualAttenuationᅟ: float

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

Access functions:
property nearFieldGainᅟ: float

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

Access functions:
property occlusionIntensityᅟ: float

定义对象被遮挡的程度。0 表示对象完全没有被遮挡,1 表示声源完全被另一个对象遮挡。

一个完全被遮挡的物体仍然可以听到声音,但尤其是较高的频率会被减弱。此外,该物体仍会参与在房间中生成混响和反射。

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

默认值为0。

Access functions:
property positionᅟ: QVector3D

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

另请参阅

distanceScale

Access functions:
property rotationᅟ: QQuaternion

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

Access functions:
property sizeᅟ: float

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

Access functions:
property sourceᅟ: QUrl

要播放的声音的源文件。

Access functions:
property volumeᅟ: float

定义声音的音量。

0到1之间的值会减弱声音,而大于1的值会提供额外的增益提升。

Access functions:
__init__(engine)
Parameters:

引擎QAudioEngine

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

autoPlay()
Return type:

布尔

另请参阅

setAutoPlay()

属性 autoPlayᅟ 的获取器。

autoPlayChanged()

属性 autoPlayᅟ 的通知信号。

directivity()
Return type:

浮点数

另请参阅

setDirectivity()

属性 directivityᅟ 的获取器。

directivityChanged()

属性 directivityᅟ 的通知信号。

directivityOrder()
Return type:

浮点数

另请参阅

setDirectivityOrder()

属性 directivityOrderᅟ 的获取器。

directivityOrderChanged()

属性 directivityOrderᅟ 的通知信号。

distanceCutoff()
Return type:

浮点数

另请参阅

setDistanceCutoff()

属性 distanceCutoffᅟ 的获取器。

distanceCutoffChanged()

属性 distanceCutoffᅟ 的通知信号。

distanceModel()
Return type:

DistanceModel

另请参阅

setDistanceModel()

属性 distanceModelᅟ 的获取器。

distanceModelChanged()

属性 distanceModelᅟ 的通知信号。

engine()
Return type:

QAudioEngine

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

loops()
Return type:

整数

另请参阅

setLoops()

属性 loopsᅟ 的获取器。

loopsChanged()

属性 loopsᅟ 的通知信号。

manualAttenuation()
Return type:

浮点数

另请参阅

setManualAttenuation()

属性 manualAttenuationᅟ 的获取器。

manualAttenuationChanged()

属性 manualAttenuationᅟ 的通知信号。

nearFieldGain()
Return type:

浮点数

另请参阅

setNearFieldGain()

属性 nearFieldGainᅟ 的获取器。

nearFieldGainChanged()

属性 nearFieldGainᅟ 的通知信号。

occlusionIntensity()
Return type:

浮点数

属性 occlusionIntensityᅟ 的获取器。

occlusionIntensityChanged()

属性 occlusionIntensityᅟ 的通知信号。

pause()

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

play()

开始播放声音。如果声音已经在播放,则不执行任何操作。

position()
Return type:

QVector3D

另请参阅

setPosition()

属性 positionᅟ 的获取器。

positionChanged()

属性 positionᅟ 的通知信号。

rotation()
Return type:

QQuaternion

另请参阅

setRotation()

属性 rotationᅟ 的获取器。

rotationChanged()

属性 rotationᅟ 的通知信号。

setAutoPlay(autoPlay)
Parameters:

autoPlay – 布尔值

另请参阅

autoPlay()

属性 autoPlayᅟ 的设置器。

setDirectivity(alpha)
Parameters:

alpha – 浮点数

另请参阅

directivity()

属性 directivityᅟ 的设置器。

setDirectivityOrder(alpha)
Parameters:

alpha – 浮点数

另请参阅

directivityOrder()

属性 directivityOrderᅟ 的设置器。

setDistanceCutoff(cutoff)
Parameters:

cutoff – 浮点数

另请参阅

distanceCutoff()

属性 distanceCutoffᅟ 的设置器。

setDistanceModel(model)
Parameters:

模型DistanceModel

另请参阅

distanceModel()

属性 distanceModelᅟ 的设置器。

setLoops(loops)
Parameters:

循环次数 – int

另请参阅

loops()

属性 loopsᅟ 的设置器。

setManualAttenuation(attenuation)
Parameters:

衰减 – float

另请参阅

manualAttenuation()

属性 manualAttenuationᅟ 的设置器。

setNearFieldGain(gain)
Parameters:

增益 – 浮点数

另请参阅

nearFieldGain()

属性 nearFieldGainᅟ 的设置器。

setOcclusionIntensity(occlusion)
Parameters:

遮挡 – float

另请参阅

occlusionIntensity()

属性 occlusionIntensityᅟ 的设置器。

setPosition(pos)
Parameters:

位置QVector3D

另请参阅

position()

属性 positionᅟ 的设置器。

setRotation(q)
Parameters:

qQQuaternion

另请参阅

rotation()

属性 rotationᅟ 的设置器。

setSize(size)
Parameters:

size – 浮点数

另请参阅

size()

属性 sizeᅟ 的设置器。

setSource(url)
Parameters:

urlQUrl

另请参阅

source()

属性 sourceᅟ 的设置器。

setVolume(volume)
Parameters:

volume – 浮点数

另请参阅

volume()

属性 volumeᅟ 的设置器。

size()
Return type:

浮点数

另请参阅

setSize()

属性 sizeᅟ 的获取器。

sizeChanged()

属性 sizeᅟ 的通知信号。

source()
Return type:

QUrl

另请参阅

setSource()

属性 sourceᅟ 的获取器。

sourceChanged()

属性 sourceᅟ 的通知信号。

stop()

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

volume()
Return type:

浮点数

另请参阅

setVolume()

属性 volumeᅟ 的获取器。

volumeChanged()

属性 volumeᅟ 的通知信号。