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

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

Constant설명
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개의 벽을 정의하는 열거형입니다.

Constant설명
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()

positionQAudioEngine::distanceScale참조하세요 .

position : QVector3D

3D 공간에서 방의 중심 위치를 정의합니다. 단위는 기본적으로 센티미터입니다.

기능에 액세스합니다:

QVector3D position() const
void setPosition(QVector3D pos)

알림 신호:

void positionChanged()

dimensionsQAudioEngine::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)

wallmaterial 으로 설정합니다.

벽 재질에 따라 방의 사운드에 영향을 주는 반사 및 리버브 특성이 다릅니다.

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.