QAudioRoom Class
헤더: | #include <QAudioRoom> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS SpatialAudio) target_link_libraries(mytarget PRIVATE Qt6::SpatialAudio) |
qmake: | QT += spatialaudio |
상속합니다: | QObject |
공용 유형
enum | Material { Transparent, AcousticCeilingTiles, BrickBare, BrickPainted, ConcreteBlockCoarse, …, UniformMaterial } |
enum | Wall { LeftWall, RightWall, Floor, Ceiling, FrontWall, BackWall } |
속성
|
|
공공 기능
QAudioRoom(QAudioEngine *engine) | |
virtual | ~QAudioRoom() override |
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() |
상세 설명
공간 오디오 엔진의 방을 정의합니다.
청취자가 방 안에 있는 경우, 방 속성과 일치하는 1차 음향 반사 및 리버브가 음장에 적용됩니다.
방은 항상 정사각형이며 중심 위치, 방향 및 치수에 따라 정의됩니다. 방의 6개의 벽은 각각 다른 재질로 만들어져 청취자가 방 안에 있는 동안 경험하게 될 계산된 반사와 리버브에 기여할 수 있습니다.
여러 개의 방이 같은 위치를 커버하는 경우 엔진은 가장 작은 볼륨을 가진 방을 사용합니다.
멤버 유형 문서
enum QAudioRoom::Material
방의 여러 벽에 적용할 수 있는 다양한 재질을 정의합니다.
Constant | 값 | 설명 |
---|---|---|
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 | 모든 주파수에서 균일한 반사를 제공하는 인공 재료 |
enum QAudioRoom::Wall
방의 6개의 벽을 정의하는 열거형입니다.
Constant | 값 | 설명 |
---|---|---|
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 을참조하세요 .
reflectionGain : float
이 방에서 생성되는 리플렉션에 대한 게인 계수입니다. 0에서 1 사이의 값은 반사를 약화시키고, 1보다 큰 값은 반사에 게인을 적용하여 반사를 더 크게 만듭니다.
기본값은 1이며, 계수가 0이면 리플렉션이 비활성화됩니다. 음수 값은 0에 매핑됩니다.
기능에 액세스합니다:
float | reflectionGain() const |
void | setReflectionGain(float factor) |
알림 신호:
void | reflectionGainChanged() |
reverbBrightness : float
생성된 리버브에 적용할 밝기 계수입니다. 값이 양수이면 높은 주파수의 리버브가 증가하고 낮은 주파수는 감쇠되며, 음수이면 그 반대가 됩니다.
기본값은 0입니다.
기능에 액세스합니다:
float | reverbBrightness() const |
void | setReverbBrightness(float factor) |
알림 신호:
void | reverbBrightnessChanged() |
reverbGain : float
이 룸에서 생성되는 리버브에 대한 게인 계수입니다. 0에서 1 사이의 값은 리버브를 약화시키고, 1보다 큰 값은 리버브에 게인을 적용하여 리버브를 더 크게 만듭니다.
기본값은 1이며, 계수가 0이면 리버브가 비활성화됩니다. 음수 값은 0에 매핑됩니다.
기능에 액세스합니다:
float | reverbGain() const |
void | setReverbGain(float factor) |
알림 신호:
void | reverbGainChanged() |
reverbTime : float
이 룸에 대해 생성되는 모든 리버브 타이밍에 적용될 인자입니다. 값이 클수록 리버브 타이밍이 길어져 룸 사운드가 커집니다.
기본값은 1이며 음수 값은 0에 매핑됩니다.
기능에 액세스합니다:
float | reverbTime() const |
void | setReverbTime(float factor) |
알림 신호:
void | reverbTimeChanged() |
rotation : QQuaternion
3D 공간에서 방의 방향을 정의합니다.
기능에 액세스합니다:
QQuaternion | rotation() const |
void | setRotation(const QQuaternion &q) |
알림 신호:
void | rotationChanged() |
멤버 기능 문서
[explicit]
QAudioRoom::QAudioRoom(QAudioEngine *engine)
engine 에 대한 QAudioRoom을 구축합니다.
[override virtual noexcept]
QAudioRoom::~QAudioRoom()
방을 파괴합니다.
void QAudioRoom::setWallMaterial(QAudioRoom::Wall wall, QAudioRoom::Material material)
wall 을 material 으로 설정합니다.
벽 재질에 따라 방의 사운드에 영향을 주는 반사 및 리버브 특성이 다릅니다.
wallMaterial(), Material, QAudioRoom::Wall도 참조하세요 .
QAudioRoom::Material QAudioRoom::wallMaterial(QAudioRoom::Wall wall) const
에 사용 중인 자료를 반환합니다 wall.
setWallMaterial(), Material, QAudioRoom::Wall도 참조하세요 .
[signal]
void QAudioRoom::wallsChanged()
벽 재질이 변경되면 신호를 보냅니다.
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.