QAudioRoom Class

Kopfzeile: #include <QAudioRoom>
CMake: find_package(Qt6 REQUIRED COMPONENTS SpatialAudio)
target_link_libraries(mytarget PRIVATE Qt6::SpatialAudio)
qmake: QT += spatialaudio
Vererbungen: QObject

Öffentliche Typen

enum Material { Transparent, AcousticCeilingTiles, BrickBare, BrickPainted, ConcreteBlockCoarse, …, UniformMaterial }
enum Wall { LeftWall, RightWall, Floor, Ceiling, FrontWall, BackWall }

Eigenschaften

Öffentliche Funktionen

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

Signale

Detaillierte Beschreibung

Definiert einen Raum für die räumliche Audio-Engine.

Wenn sich der Zuhörer in einem Raum befindet, werden Schallreflexionen erster Ordnung und Hall, die den Eigenschaften des Raums entsprechen, auf das Schallfeld angewendet.

Ein Raum ist immer quadratisch und wird durch seine Mittelposition, seine Ausrichtung und seine Abmessungen definiert. Jede der 6 Wände des Raumes kann aus unterschiedlichen Materialien bestehen, die zu den berechneten Reflexionen und dem Nachhall beitragen, die der Zuhörer erfährt, während er sich im Raum befindet.

Wenn mehrere Räume dieselbe Position abdecken, verwendet die Engine den Raum mit dem kleinsten Volumen.

Member Type Dokumentation

enum QAudioRoom::Material

Legt verschiedene Materialien fest, die an den verschiedenen Wänden des Raums angebracht werden können.

KonstanteWertBeschreibung
QAudioRoom::Transparent0Die Seite des Raums ist offen und trägt nicht zu Reflexionen oder Nachhall bei.
QAudioRoom::AcousticCeilingTiles1Akustikkacheln, die die meisten Reflexionen und Nachhall unterdrücken.
QAudioRoom::BrickBare2Blanke Ziegelwand.
QAudioRoom::BrickPainted3Gestrichene Ziegelwand.
QAudioRoom::ConcreteBlockCoarse4Rohe Betonwand
QAudioRoom::ConcreteBlockPainted5Gestrichene Betonwand
QAudioRoom::CurtainHeavy6Schwerer Vorhang. Reflektiert hauptsächlich niedrige Frequenzen
QAudioRoom::FiberGlassInsulation7Glasfaserisolierung. Reflektiert nur sehr niedrige Frequenzen
QAudioRoom::GlassThin8Dünne Glaswand
QAudioRoom::GlassThick9Wand aus dickem Glas
QAudioRoom::Grass10Gras
QAudioRoom::LinoleumOnConcrete11Linoleumboden
QAudioRoom::Marble12Marmorboden
QAudioRoom::Metal13Metall
QAudioRoom::ParquetOnConcrete14Parkettboden auf Beton
QAudioRoom::PlasterRough15Rauher Putz
QAudioRoom::PlasterSmooth16Glatter Putz
QAudioRoom::PlywoodPanel17Plywodden-Platte
QAudioRoom::PolishedConcreteOrTile18Polierter Beton oder Fliesen
QAudioRoom::Sheetrock19Felsen
QAudioRoom::WaterOrIceSurface20Wasser oder Eis
QAudioRoom::WoodCeiling21Hölzerne Decke
QAudioRoom::WoodPanel22Holzplatte
QAudioRoom::UniformMaterial23Künstliches Material, das gleichmäßige Reflexionen auf allen Frequenzen erzeugt

enum QAudioRoom::Wall

Eine Aufzählung, die die 6 Wände des Raumes definiert

KonstanteWertBeschreibung
QAudioRoom::LeftWall0Linke Wand (negatives x)
QAudioRoom::RightWall1Rechte Wand (positives x)
QAudioRoom::Floor2Untere Wand (negatives y)
QAudioRoom::Ceiling3Obere Wand (positives y)
QAudioRoom::FrontWall4Vordere Wand (negativ z)
QAudioRoom::BackWall5Rückwand (positiv z)

Eigenschaft Dokumentation

dimensions : QVector3D

Legt die Abmessungen des Raums im 3D-Raum fest. Die Einheiten sind standardmäßig in Zentimetern.

Zugriffsfunktionen:

QVector3D dimensions() const
void setDimensions(QVector3D dim)

Benachrichtigungssignal:

void dimensionsChanged()

Siehe auch position und QAudioEngine::distanceScale.

position : QVector3D

Bestimmt die Position des Raummittelpunkts im 3D-Raum. Die Einheiten sind standardmäßig in Zentimetern.

Zugriffsfunktionen:

QVector3D position() const
void setPosition(QVector3D pos)

Benachrichtigungssignal:

void positionChanged()

Siehe auch dimensions und QAudioEngine::distanceScale.

reflectionGain : float

Ein Verstärkungsfaktor für die in diesem Raum erzeugten Reflexionen. Ein Wert von 0 bis 1 dämpft die Reflexionen, während ein Wert größer als 1 die Reflexionen verstärkt und sie lauter macht.

Der Standardwert ist 1, ein Faktor von 0 schaltet Reflexionen aus. Negative Werte werden auf 0 abgebildet.

Zugriffsfunktionen:

float reflectionGain() const
void setReflectionGain(float factor)

Melder-Signal:

void reflectionGainChanged()

reverbBrightness : float

Ein Helligkeitsfaktor, der auf den erzeugten Nachhall angewendet wird. Ein positiver Wert erhöht den Nachhall für höhere Frequenzen und dämpft niedrigere Frequenzen, ein negativer Wert bewirkt das Gegenteil.

Die Voreinstellung ist 0.

Zugriffsfunktionen:

float reverbBrightness() const
void setReverbBrightness(float factor)

Anmelder-Signal:

void reverbBrightnessChanged()

reverbGain : float

Ein Verstärkungsfaktor für den in diesem Raum erzeugten Nachhall. Ein Wert von 0 bis 1 dämpft den Nachhall, während ein Wert größer als 1 den Nachhall verstärkt und ihn lauter macht.

Der Standardwert ist 1, ein Faktor von 0 deaktiviert den Hall. Negative Werte werden auf 0 abgebildet.

Zugriffsfunktionen:

float reverbGain() const
void setReverbGain(float factor)

Melder-Signal:

void reverbGainChanged()

reverbTime : float

Ein Faktor, der auf alle für diesen Raum erzeugten Nachhallzeiten angewendet wird. Größere Werte führen zu längeren Reverb-Timings und lassen den Raum größer klingen.

Die Voreinstellung ist 1. Negative Werte werden auf 0 abgebildet.

Zugriffsfunktionen:

float reverbTime() const
void setReverbTime(float factor)

Anmelder-Signal:

void reverbTimeChanged()

rotation : QQuaternion

Bestimmt die Ausrichtung des Raumes im 3D-Raum.

Zugriffsfunktionen:

QQuaternion rotation() const
void setRotation(const QQuaternion &q)

Melder-Signal:

void rotationChanged()

Member Function Dokumentation

[explicit] QAudioRoom::QAudioRoom(QAudioEngine *engine)

Konstruiert einen QAudioRoom für engine.

[override virtual noexcept] QAudioRoom::~QAudioRoom()

Zerstört den Raum.

void QAudioRoom::setWallMaterial(QAudioRoom::Wall wall, QAudioRoom::Material material)

Stellt wall auf material ein.

Verschiedene Wandmaterialien haben unterschiedliche Reflexions- und Halleigenschaften, die den Klang des Raums beeinflussen.

Siehe auch wallMaterial(), Material, und QAudioRoom::Wall.

QAudioRoom::Material QAudioRoom::wallMaterial(QAudioRoom::Wall wall) const

gibt das Material zurück, das für wall verwendet wird.

Siehe auch setWallMaterial(), Material, und QAudioRoom::Wall.

[signal] void QAudioRoom::wallsChanged()

Signalisiert, wenn sich das Wandmaterial ändert.

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