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
void | dimensionsChanged() |
void | positionChanged() |
void | reflectionGainChanged() |
void | reverbBrightnessChanged() |
void | reverbGainChanged() |
void | reverbTimeChanged() |
void | rotationChanged() |
void | wallsChanged() |
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.
Konstante | Wert | Beschreibung |
---|---|---|
QAudioRoom::Transparent | 0 | Die Seite des Raums ist offen und trägt nicht zu Reflexionen oder Nachhall bei. |
QAudioRoom::AcousticCeilingTiles | 1 | Akustikkacheln, die die meisten Reflexionen und Nachhall unterdrücken. |
QAudioRoom::BrickBare | 2 | Blanke Ziegelwand. |
QAudioRoom::BrickPainted | 3 | Gestrichene Ziegelwand. |
QAudioRoom::ConcreteBlockCoarse | 4 | Rohe Betonwand |
QAudioRoom::ConcreteBlockPainted | 5 | Gestrichene Betonwand |
QAudioRoom::CurtainHeavy | 6 | Schwerer Vorhang. Reflektiert hauptsächlich niedrige Frequenzen |
QAudioRoom::FiberGlassInsulation | 7 | Glasfaserisolierung. Reflektiert nur sehr niedrige Frequenzen |
QAudioRoom::GlassThin | 8 | Dünne Glaswand |
QAudioRoom::GlassThick | 9 | Wand aus dickem Glas |
QAudioRoom::Grass | 10 | Gras |
QAudioRoom::LinoleumOnConcrete | 11 | Linoleumboden |
QAudioRoom::Marble | 12 | Marmorboden |
QAudioRoom::Metal | 13 | Metall |
QAudioRoom::ParquetOnConcrete | 14 | Parkettboden auf Beton |
QAudioRoom::PlasterRough | 15 | Rauher Putz |
QAudioRoom::PlasterSmooth | 16 | Glatter Putz |
QAudioRoom::PlywoodPanel | 17 | Plywodden-Platte |
QAudioRoom::PolishedConcreteOrTile | 18 | Polierter Beton oder Fliesen |
QAudioRoom::Sheetrock | 19 | Felsen |
QAudioRoom::WaterOrIceSurface | 20 | Wasser oder Eis |
QAudioRoom::WoodCeiling | 21 | Hölzerne Decke |
QAudioRoom::WoodPanel | 22 | Holzplatte |
QAudioRoom::UniformMaterial | 23 | Künstliches Material, das gleichmäßige Reflexionen auf allen Frequenzen erzeugt |
enum QAudioRoom::Wall
Eine Aufzählung, die die 6 Wände des Raumes definiert
Konstante | Wert | Beschreibung |
---|---|---|
QAudioRoom::LeftWall | 0 | Linke Wand (negatives x) |
QAudioRoom::RightWall | 1 | Rechte Wand (positives x) |
QAudioRoom::Floor | 2 | Untere Wand (negatives y) |
QAudioRoom::Ceiling | 3 | Obere Wand (positives y) |
QAudioRoom::FrontWall | 4 | Vordere Wand (negativ z) |
QAudioRoom::BackWall | 5 | Rü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.