QAudioRoom 类
| 头文件 | #include <QAudioRoom> | 
| CMake | find_package(Qt6 REQUIRED COMPONENTS SpatialAudio) target_link_libraries(mytarget PRIVATE Qt6::SpatialAudio) | 
| qmake | QT += spatialaudio | 
| 继承自 | QObject | 
公共类型
| 枚举 | Material { Transparent, AcousticCeilingTiles, BrickBare, BrickPainted, ConcreteBlockCoarse, …, UniformMaterial } | 
| 枚举 | Wall { LeftWall, RightWall, Floor, Ceiling, FrontWall, BackWall } | 
属性
| 
 | 
 | 
公共函数
| QAudioRoom(QAudioEngine *engine) | |
| virtual | ~QAudioRoom() | 
| QVector3D | dimensions() const | 
| QVector3D | position() const | 
| float | reflectionGain() const | 
| float | reverbBrightness() const | 
| float | reverbGain() const | 
| float | reverbTime() const | 
| QQuaternion | rotation() const | 
| void | setDimensions(QVector3D dim) | 
| void | setPosition(QVector3D pos) | 
| void | setReflectionGain(float factor) | 
| void | setReverbBrightness(float factor) | 
| void | setReverbGain(float factor) | 
| void | setReverbTime(float factor) | 
| void | setRotation(const QQuaternion &q) | 
| void | setWallMaterial(QAudioRoom::Wall wall, QAudioRoom::Material material) | 
| QAudioRoom::Material | wallMaterial(QAudioRoom::Wall wall) const | 
信号
| void | dimensionsChanged() | 
| void | positionChanged() | 
| void | reflectionGainChanged() | 
| void | reverbBrightnessChanged() | 
| void | reverbGainChanged() | 
| void | reverbTimeChanged() | 
| void | rotationChanged() | 
| void | wallsChanged() | 
详细描述
定义空间音频引擎的房间。
如果监听器在房间内,将会先应用房间属性匹配的第一阶声波反射和混响到声音领域中。
房间始终是正方形,由其中心位置、朝向和尺寸定义。房间的每面墙可以由不同的材料构成,这些材料将有助于计算监听者在房间内的反射和混响。
如果多个房间覆盖了同一位置,引擎将使用体积最小的房间。
成员类型文档
枚举 QAudioRoom::材料
定义可以应用于房间不同墙壁的不同材料。
| 常量 | 值 | 描述 | 
|---|---|---|
| QAudioRoom::Transparent | 0 | 房间侧面开放,不会对反射或混响做出贡献。 | 
| QAudioRoom::AcousticCeilingTiles | 1 | 具有抑制大部分反射和混响的吸音砖。 | 
| QAudioRoom::BrickBare | 2 | 裸露的砖墙。 | 
| QAudioRoom::BrickPainted | 3 | 粉刷过的砖墙。 | 
| QAudioRoom::ConcreteBlockCoarse | 4 | 未加工的混凝土墙。 | 
| QAudioRoom::ConcreteBlockPainted | 5 | 粉刷过的混凝土墙。 | 
| QAudioRoom::CurtainHeavy | 6 | 厚重的窗帘。主要反射低频。 | 
| QAudioRoom::FiberGlassInsulation | 7 | 玻璃纤维绝缘材料。仅反射非常低频。 | 
| QAudioRoom::GlassThin | 8 | 薄玻璃墙 | 
| QAudioRoom::GlassThick | 9 | 厚玻璃墙 | 
| QAudioRoom::Grass | 10 | 草地 | 
| QAudioRoom::LinoleumOnConcrete | 11 | 亚麻地板 | 
| QAudioRoom::Marble | 12 | 大理石地板 | 
| QAudioRoom::Metal | 13 | 金属 | 
| QAudioRoom::ParquetOnConcrete | 14 | 混凝土上的硬木地板 | 
| QAudioRoom::PlasterRough | 15 | 粗糙的灰泥 | 
| QAudioRoom::PlasterSmooth | 16 | 光滑的灰泥 | 
| QAudioRoom::PlywoodPanel | 17 | 层压板 | 
| QAudioRoom::PolishedConcreteOrTile | 18 | 抛光混凝土或瓷砖 | 
| QAudioRoom::Sheetrock | 19 | 岩石 | 
| QAudioRoom::WaterOrIceSurface | 20 | 水或冰 | 
| QAudioRoom::WoodCeiling | 21 | 木质天花板 | 
| QAudioRoom::WoodPanel | 22 | 木质面板 | 
| QAudioRoom::UniformMaterial | 23 | 给定所有频率上均匀反射的合成材料 | 
枚举 QAudioRoom::壁
一个枚举,定义房间的6面墙
| 常量 | 值 | 描述 | 
|---|---|---|
| QAudioRoom::LeftWall | 0 | 左侧墙壁(负x方向) | 
| QAudioRoom::RightWall | 1 | 右侧墙壁(正x方向) | 
| QAudioRoom::Floor | 2 | 底部墙壁(负y方向) | 
| QAudioRoom::Ceiling | 3 | 顶部墙壁(正y方向) | 
| QAudioRoom::FrontWall | 4 | 前墙壁(负z方向) | 
| QAudioRoom::BackWall | 5 | 后墙壁(正z方向) | 
属性文档
dimensions : QVector3D
定义房间在3D空间中的尺寸。默认单位为厘米。
访问函数
| QVector3D | dimensions() const | 
| void | setDimensions(QVector3D dim) | 
通知信号
| void | dimensionsChanged() | 
另请参阅position 和 QAudioEngine::distanceScale。
position : QVector3D
定义房间中心在3D空间中的位置。默认单位为厘米。
访问函数
| QVector3D | position() const | 
| void | setPosition(QVector3D pos) | 
通知信号
| void | positionChanged() | 
另请参阅dimensions 和 QAudioEngine::distanceScale。
反射增益 : 浮点
该房间中生成反射的增益因子。值为0到1将减弱反射,而大于1的值将增强反射,使其更响亮。
默认值为1,0的因子将禁用反射。负值映射为0。
访问函数
| float | 反射增益() const | 
| void | setReflectionGain(float factor) | 
通知信号
| void | reflectionGainChanged() | 
混响亮度 : 浮点
应用于生成的混响的亮度因子。正值将增加高频混响并减弱低频,负值则是相反。
默认值为0。
访问函数
| float | 混响亮度() const | 
| void | setReverbBrightness(float factor) | 
通知信号
| void | reverbBrightnessChanged() | 
混响增益 : 浮点
该房间中生成混响的增益因子。值为0到1将减弱混响,而大于1的值将增强混响,使其更响亮。
默认值为1,0的因子将禁用混响。负值映射为0。
访问函数
| float | 混响增益() const | 
| void | setReverbGain(float factor) | 
通知信号
| void | reverbGainChanged() | 
混响时间 : 浮点
应用于此房间所有混响时间的因子。较大的值将导致更长的混响时间,使房间听起来更大。
默认值为1。负值映射为0。
访问函数
| float | 混响时间() const | 
| void | setReverbTime(float factor) | 
通知信号
| void | reverbTimeChanged() | 
旋转 : QQuaternion
定义房间在3D空间中的方向。
访问函数
| QQuaternion | 旋转() const | 
| void | setRotation(const QQuaternion &q) | 
通知信号
| void | rotationChanged() | 
成员函数文档
[显式] 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.的商标。所有其他商标均为各自所有者的财产。