Auf dieser Seite

QAudioRoom Class

Überschrift: #include <QAudioRoom>
CMake: find_package(Qt6 REQUIRED COMPONENTS SpatialAudio)
target_link_libraries(mytarget PRIVATE Qt6::SpatialAudio)
qmake: QT += spatialaudio
Erbt: 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

Ausführliche Beschreibung

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

Befindet sich der Zuhörer in einem Raum, werden auf das Schallfeld Schallreflexionen erster Ordnung sowie ein den Raumeigenschaften entsprechender Nachhall angewendet.

Ein Raum ist immer quadratisch und wird durch seine Mittelposition, seine Ausrichtung und seine Abmessungen definiert. Jede der 6 Wände des Raums kann aus unterschiedlichen Materialien bestehen, die zu den berechneten Reflexionen und dem Nachhall beitragen, die der Zuhörer im Raum wahrnimmt.

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

Dokumentation zum Mitgliedstyp

enum QAudioRoom::Material

Definiert verschiedene Materialien, 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::AcousticCeilingTiles1Akustikplatten, die den Großteil der Reflexionen und des Nachhalls unterdrücken.
QAudioRoom::BrickBare2Unverputzte Ziegelwand.
QAudioRoom::BrickPainted3Gestrichene Ziegelwand.
QAudioRoom::ConcreteBlockCoarse4Rohbetonwand
QAudioRoom::ConcreteBlockPainted5Gestrichene Betonwand
QAudioRoom::CurtainHeavy6Schwerer Vorhang. Reflektiert vor allem tiefe Frequenzen
QAudioRoom::FiberGlassInsulation7Glasfaserisolierung. Reflektiert nur sehr tiefe Frequenzen
QAudioRoom::GlassThin8Dünne Glaswand
QAudioRoom::GlassThick9Dicke Glaswand
QAudioRoom::Grass10Gras
QAudioRoom::LinoleumOnConcrete11Linoleumboden
QAudioRoom::Marble12Marmorboden
QAudioRoom::Metal13Metall
QAudioRoom::ParquetOnConcrete14Parkettboden auf Beton
QAudioRoom::PlasterRough15Rauer Putz
QAudioRoom::PlasterSmooth16Glatter Putz
QAudioRoom::PlywoodPanel17Sperrholzplatte
QAudioRoom::PolishedConcreteOrTile18Polierter Beton oder Fliesen
QAudioRoom::Sheetrock19Fels
QAudioRoom::WaterOrIceSurface20Wasser oder Eis
QAudioRoom::WoodCeiling21Holzdecke
QAudioRoom::WoodPanel22Holzpaneel
QAudioRoom::UniformMaterial23Kunststoff, der bei allen Frequenzen gleichmäßige Reflexionen erzeugt

enum QAudioRoom::Wall

Eine Enumeration, die die 6 Wände des Raums definiert

KonstanteWertBeschreibung
QAudioRoom::LeftWall0Linke Wand (negatives x)
QAudioRoom::RightWall1Rechte Wand (positive x-Achse)
QAudioRoom::Floor2Unterwand (negatives y)
QAudioRoom::Ceiling3Obere Wand (positive y-Achse)
QAudioRoom::FrontWall4Vordere Wand (negatives z)
QAudioRoom::BackWall5Rückwand (positive z-Achse)

Dokumentation zu den Eigenschaften

dimensions : QVector3D

Legt die Abmessungen des Raums im 3D-Raum fest. Standardmäßig werden die Maße in Zentimetern angegeben.

Zugriffsfunktionen:

QVector3D dimensions() const
void setDimensions(QVector3D dim)

Benachrichtigungssignal:

void dimensionsChanged()

Siehe auch position und QAudioEngine::distanceScale.

position : QVector3D

Legt die Position des Raummittelpunkts im 3D-Raum fest. Die Einheit ist standardmäßig Zentimeter.

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 zwischen 0 und 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 deaktiviert Reflexionen. Negative Werte werden auf 0 gesetzt.

Zugriffsfunktionen:

float reflectionGain() const
void setReflectionGain(float factor)

Benachrichtigungssignal:

void reflectionGainChanged()

reverbBrightness : float

Ein Helligkeitsfaktor, der auf den erzeugten Hall angewendet wird. Ein positiver Wert verstärkt den Hall bei höheren Frequenzen und dämpft tiefere Frequenzen, ein negativer Wert bewirkt das Gegenteil.

Der Standardwert ist 0.

Zugriffsfunktionen:

float reverbBrightness() const
void setReverbBrightness(float factor)

Benachrichtigungssignal:

void reverbBrightnessChanged()

reverbGain : float

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

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

Zugriffsfunktionen:

float reverbGain() const
void setReverbGain(float factor)

Benachrichtigungssignal:

void reverbGainChanged()

reverbTime : float

Ein Skalierungsfaktor, der auf alle für diesen Raum generierten Nachhallzeiten angewendet wird. Höhere Werte führen zu längeren Nachhallzeiten, wodurch der Raum größer klingt.

Der Standardwert ist 1. Negative Werte werden auf 0 gesetzt.

Zugriffsfunktionen:

float reverbTime() const
void setReverbTime(float factor)

Benachrichtigungssignal:

void reverbTimeChanged()

rotation : QQuaternion

Legt die Ausrichtung des Raums im 3D-Raum fest.

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void rotationChanged()

Dokumentation der Mitgliedsfunktionen

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

Erstellt einen QAudioRoom für engine.

Hinweis: Muss mit einem gültigen QAudioEngine

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

Das ruiniert die ganze Atmosphäre.

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

Setzt „ wall “ auf „ material “.

Verschiedene Wandmaterialien weisen unterschiedliche Reflexions- und Nachhall-Eigenschaften auf, die den Klang des Raums beeinflussen.

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

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

Gibt das für wall verwendete Material zurück.

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

[signal] void QAudioRoom::wallsChanged()

Zeigt an, wenn sich das Wandmaterial ändert.

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