이 페이지에서

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

신호

상세 설명

공간 오디오 엔진을 위한 방을 정의합니다.

청취자가 룸 내부에 있는 경우, 룸의 특성에 맞는 1차 음향 반사와 잔향이 음장에 적용됩니다.

방은 항상 정사각형이며, 중심 위치, 방향 및 크기로 정의됩니다. 방의 6개 벽면은 각각 서로 다른 재질로 구성될 수 있으며, 이는 청취자가 방 안에 있을 때 경험하게 될 반사음과 잔향의 계산에 반영됩니다.

동일한 위치를 여러 개의 룸이 덮고 있는 경우, 엔진은 부피가 가장 작은 룸을 사용합니다.

멤버 유형 문서

enum QAudioRoom::Material

방의 각 벽면에 적용할 수 있는 다양한 재질을 정의합니다.

상수값설명
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모든 주파수에서 균일한 반사 특성을 보이는 인공 소재

enum QAudioRoom::Wall

방의 6개 벽을 정의하는 열거형

상수값설명
QAudioRoom::LeftWall0왼쪽 벽 (음의 x)
QAudioRoom::RightWall1오른쪽 벽 (양수 x)
QAudioRoom::Floor2하단 벽 (음의 y)
QAudioRoom::Ceiling3상단 벽 (양 y)
QAudioRoom::FrontWall4전면 벽 (음의 z)
QAudioRoom::BackWall5뒷벽 (양 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

‘A factor to be’는 이 공간에 대해 생성된 모든 잔향 시간에 적용됩니다. 값이 클수록 잔향 시간이 길어지며, 이로 인해 공간이 더 넓게 들립니다.

기본값은 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을 생성합니다.

참고: 유효한 QAudioEngine

[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()

벽의 재질이 바뀔 때 신호를 보냅니다.

© 2026 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.