QAudioRoom 类

头文件 #include <QAudioRoom>
CMakefind_package(Qt6 REQUIRED COMPONENTS SpatialAudio)
target_link_libraries(mytarget PRIVATE Qt6::SpatialAudio)
qmakeQT += spatialaudio
继承自 QObject

公共类型

枚举Material { Transparent, AcousticCeilingTiles, BrickBare, BrickPainted, ConcreteBlockCoarse, …, UniformMaterial }
枚举Wall { LeftWall, RightWall, Floor, Ceiling, FrontWall, BackWall }

属性

公共函数

QAudioRoom(QAudioEngine *engine)
virtual~QAudioRoom()
QVector3Ddimensions() const
QVector3Dposition() const
floatreflectionGain() const
floatreverbBrightness() const
floatreverbGain() const
floatreverbTime() const
QQuaternionrotation() const
voidsetDimensions(QVector3D dim)
voidsetPosition(QVector3D pos)
voidsetReflectionGain(float factor)
voidsetReverbBrightness(float factor)
voidsetReverbGain(float factor)
voidsetReverbTime(float factor)
voidsetRotation(const QQuaternion &q)
voidsetWallMaterial(QAudioRoom::Wall wall, QAudioRoom::Material material)
QAudioRoom::MaterialwallMaterial(QAudioRoom::Wall wall) const

信号

详细描述

定义空间音频引擎的房间。

如果监听器在房间内,将会先应用房间属性匹配的第一阶声波反射和混响到声音领域中。

房间始终是正方形,由其中心位置、朝向和尺寸定义。房间的每面墙可以由不同的材料构成,这些材料将有助于计算监听者在房间内的反射和混响。

如果多个房间覆盖了同一位置,引擎将使用体积最小的房间。

成员类型文档

枚举 QAudioRoom::材料

定义可以应用于房间不同墙壁的不同材料。

常量描述
QAudioRoom::Transparent0房间侧面开放,不会对反射或混响做出贡献。
QAudioRoom::AcousticCeilingTiles1具有抑制大部分反射和混响的吸音砖。
QAudioRoom::BrickBare2裸露的砖墙。
QAudioRoom::BrickPainted3粉刷过的砖墙。
QAudioRoom::ConcreteBlockCoarse4未加工的混凝土墙。
QAudioRoom::ConcreteBlockPainted5粉刷过的混凝土墙。
QAudioRoom::CurtainHeavy6厚重的窗帘。主要反射低频。
QAudioRoom::FiberGlassInsulation7玻璃纤维绝缘材料。仅反射非常低频。
QAudioRoom::GlassThin8薄玻璃墙
QAudioRoom::GlassThick9厚玻璃墙
QAudioRoom::Grass10草地
QAudioRoom::LinoleumOnConcrete11亚麻地板
QAudioRoom::Marble12大理石地板
QAudioRoom::Metal13金属
QAudioRoom::ParquetOnConcrete14混凝土上的硬木地板
QAudioRoom::PlasterRough15粗糙的灰泥
QAudioRoom::PlasterSmooth16光滑的灰泥
QAudioRoom::PlywoodPanel17层压板
QAudioRoom::PolishedConcreteOrTile18抛光混凝土或瓷砖
QAudioRoom::Sheetrock19岩石
QAudioRoom::WaterOrIceSurface20水或冰
QAudioRoom::WoodCeiling21木质天花板
QAudioRoom::WoodPanel22木质面板
QAudioRoom::UniformMaterial23给定所有频率上均匀反射的合成材料

枚举 QAudioRoom::

一个枚举,定义房间的6面墙

常量描述
QAudioRoom::LeftWall0左侧墙壁(负x方向)
QAudioRoom::RightWall1右侧墙壁(正x方向)
QAudioRoom::Floor2底部墙壁(负y方向)
QAudioRoom::Ceiling3顶部墙壁(正y方向)
QAudioRoom::FrontWall4前墙壁(负z方向)
QAudioRoom::BackWall5后墙壁(正z方向)

属性文档

dimensions : QVector3D

定义房间在3D空间中的尺寸。默认单位为厘米。

访问函数

QVector3Ddimensions() const
voidsetDimensions(QVector3D dim)

通知信号

voiddimensionsChanged()

另请参阅positionQAudioEngine::distanceScale

position : QVector3D

定义房间中心在3D空间中的位置。默认单位为厘米。

访问函数

QVector3Dposition() const
voidsetPosition(QVector3D pos)

通知信号

voidpositionChanged()

另请参阅dimensionsQAudioEngine::distanceScale

反射增益 : 浮点

该房间中生成反射的增益因子。值为0到1将减弱反射,而大于1的值将增强反射,使其更响亮。

默认值为1,0的因子将禁用反射。负值映射为0。

访问函数

float反射增益() const
voidsetReflectionGain(float factor)

通知信号

voidreflectionGainChanged()

混响亮度 : 浮点

应用于生成的混响的亮度因子。正值将增加高频混响并减弱低频,负值则是相反。

默认值为0。

访问函数

float混响亮度() const
voidsetReverbBrightness(float factor)

通知信号

voidreverbBrightnessChanged()

混响增益 : 浮点

该房间中生成混响的增益因子。值为0到1将减弱混响,而大于1的值将增强混响,使其更响亮。

默认值为1,0的因子将禁用混响。负值映射为0。

访问函数

float混响增益() const
voidsetReverbGain(float factor)

通知信号

voidreverbGainChanged()

混响时间 : 浮点

应用于此房间所有混响时间的因子。较大的值将导致更长的混响时间,使房间听起来更大。

默认值为1。负值映射为0。

访问函数

float混响时间() const
voidsetReverbTime(float factor)

通知信号

voidreverbTimeChanged()

旋转 : QQuaternion

定义房间在3D空间中的方向。

访问函数

QQuaternion旋转() const
voidsetRotation(const QQuaternion &q)

通知信号

voidrotationChanged()

成员函数文档

[显式] QAudioRoom::QAudioRoom(QAudioEngine *engine)

engine构建QAudioRoom。

[虚拟 noexcept] QAudioRoom::~QAudioRoom()

销毁房间。

void QAudioRoom::setWallMaterial(QAudioRoom::Wall wall, QAudioRoom::Material material)

wall设置为material

不同的墙面材质具有不同的反射和混响属性,这些属性会影响房间的声音。

另请参阅wallMaterial(),Material,and QAudioRoom::Wall

QAudioRoom::Material QAudioRoom::wallMaterial(QAudioRoom::Wall wall) const

返回用于wall的材料。

另请参阅setWallMaterial(),Material,and QAudioRoom::Wall

[信号] void QAudioRoom::wallsChanged()

当墙面材质更改时发出信号。

© 2024 The Qt Company Ltd. 本文档中包含的文档贡献均为各自所有者的版权。提供的文档根据由自由软件基金会发布的GNU自由文档许可证1.3版许可条款进行许可。Qt以及相应的徽标是芬兰及其它在全球的The Qt Company Ltd.的商标。所有其他商标均为各自所有者的财产。