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.的商标。所有其他商标均为各自所有者的财产。