QAudioRoom Class
| En-tête : | #include <QAudioRoom> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS SpatialAudio) target_link_libraries(mytarget PRIVATE Qt6::SpatialAudio) |
| qmake : | QT += spatialaudio |
| Hérite de : | QObject |
Types publics
| enum | Material { Transparent, AcousticCeilingTiles, BrickBare, BrickPainted, ConcreteBlockCoarse, …, UniformMaterial } |
| enum | Wall { LeftWall, RightWall, Floor, Ceiling, FrontWall, BackWall } |
Propriétés
|
|
Fonctions publiques
| 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 |
Signaux
| void | dimensionsChanged() |
| void | positionChanged() |
| void | reflectionGainChanged() |
| void | reverbBrightnessChanged() |
| void | reverbGainChanged() |
| void | reverbTimeChanged() |
| void | rotationChanged() |
| void | wallsChanged() |
Description détaillée
Définit une pièce pour le moteur audio spatial.
Si l'auditeur se trouve à l'intérieur d'une pièce, des réflexions sonores de premier ordre et une réverbération correspondant aux propriétés de la pièce seront appliquées au champ sonore.
Une pièce est toujours carrée et définie par sa position centrale, son orientation et ses dimensions. Chacun des six murs de la pièce peut être constitué de matériaux différents qui contribueront aux réflexions et à la réverbération calculées que l'auditeur percevra lorsqu'il se trouvera à l'intérieur de la pièce.
Si plusieurs pièces recouvrent la même position, le moteur utilisera la pièce ayant le plus petit volume.
Documentation sur les types de membres
enum QAudioRoom::Material
Définit les différents matériaux pouvant être appliqués aux différentes parois de la pièce.
| Constante | Valeur | Description |
|---|---|---|
QAudioRoom::Transparent | 0 | Le côté de la pièce est ouvert et ne contribue ni aux réflexions ni à la réverbération. |
QAudioRoom::AcousticCeilingTiles | 1 | Panneaux acoustiques qui atténuent la plupart des réflexions et de la réverbération. |
QAudioRoom::BrickBare | 2 | Mur en briques apparentes. |
QAudioRoom::BrickPainted | 3 | Mur en briques peint. |
QAudioRoom::ConcreteBlockCoarse | 4 | Mur en béton brut |
QAudioRoom::ConcreteBlockPainted | 5 | Mur en béton peint |
QAudioRoom::CurtainHeavy | 6 | Rideau épais. Réfléchit principalement les basses fréquences |
QAudioRoom::FiberGlassInsulation | 7 | Isolation en fibre de verre. Ne réfléchit que les très basses fréquences |
QAudioRoom::GlassThin | 8 | Mur en verre fin |
QAudioRoom::GlassThick | 9 | Mur en verre épais |
QAudioRoom::Grass | 10 | Herbe |
QAudioRoom::LinoleumOnConcrete | 11 | Sol en linoléum |
QAudioRoom::Marble | 12 | Sol en marbre |
QAudioRoom::Metal | 13 | Métal |
QAudioRoom::ParquetOnConcrete | 14 | Parquet en bois posé sur du béton |
QAudioRoom::PlasterRough | 15 | Enduit brut |
QAudioRoom::PlasterSmooth | 16 | Enduit lisse |
QAudioRoom::PlywoodPanel | 17 | Panneau de contreplaqué |
QAudioRoom::PolishedConcreteOrTile | 18 | Béton poli ou carrelage |
QAudioRoom::Sheetrock | 19 | Rocher |
QAudioRoom::WaterOrIceSurface | 20 | Eau ou glace |
QAudioRoom::WoodCeiling | 21 | Plafond en bois |
QAudioRoom::WoodPanel | 22 | Panneau en bois |
QAudioRoom::UniformMaterial | 23 | Matériau artificiel produisant des réflexions uniformes sur toutes les fréquences |
enum QAudioRoom::Wall
Une énumération définissant les 6 murs de la pièce
| Constante | Valeur | Description |
|---|---|---|
QAudioRoom::LeftWall | 0 | Mur de gauche (x négatif) |
QAudioRoom::RightWall | 1 | Mur de droite (x positif) |
QAudioRoom::Floor | 2 | Paroi inférieure (y négatif) |
QAudioRoom::Ceiling | 3 | Paroi supérieure (y positif) |
QAudioRoom::FrontWall | 4 | Paroi avant (z négatif) |
QAudioRoom::BackWall | 5 | Paroi arrière (z positif) |
Documentation relative aux propriétés
dimensions : QVector3D
Définit les dimensions de la pièce dans l'espace 3D. Les unités sont exprimées en centimètres par défaut.
Fonctions d'accès :
| QVector3D | dimensions() const |
| void | setDimensions(QVector3D dim) |
Signal de notification :
| void | dimensionsChanged() |
Voir également position et QAudioEngine::distanceScale.
position : QVector3D
Définit la position du centre de la pièce dans l'espace 3D. Les unités sont exprimées en centimètres par défaut.
Fonctions d'accès :
| QVector3D | position() const |
| void | setPosition(QVector3D pos) |
Signal de notification :
| void | positionChanged() |
Voir également dimensions et QAudioEngine::distanceScale.
reflectionGain : float
Facteur d'amplification des réflexions générées dans cette pièce. Une valeur comprise entre 0 et 1 atténuera les réflexions, tandis qu'une valeur supérieure à 1 les amplifiera, les rendant ainsi plus fortes.
La valeur par défaut est 1 ; un facteur de 0 désactive les réverbérations. Les valeurs négatives sont converties en 0.
Fonctions d'accès :
| float | reflectionGain() const |
| void | setReflectionGain(float factor) |
Signal de notification :
| void | reflectionGainChanged() |
reverbBrightness : float
Facteur de luminosité à appliquer à la réverbération générée. Une valeur positive augmente la réverbération dans les hautes fréquences et l'atténue dans les basses fréquences ; une valeur négative produit l'effet inverse.
La valeur par défaut est 0.
Fonctions d'accès :
| float | reverbBrightness() const |
| void | setReverbBrightness(float factor) |
Signal de notification :
| void | reverbBrightnessChanged() |
reverbGain : float
Facteur de gain pour la réverbération générée dans cette pièce. Une valeur comprise entre 0 et 1 atténuera la réverbération, tandis qu'une valeur supérieure à 1 appliquera un gain à la réverbération, ce qui la rendra plus forte.
La valeur par défaut est 1 ; un facteur de 0 désactive la réverbération. Les valeurs négatives sont converties en 0.
Fonctions d’accès :
| float | reverbGain() const |
| void | setReverbGain(float factor) |
Signal de notification :
| void | reverbGainChanged() |
reverbTime : float
Un facteur de multiplication s'applique à tous les temps de réverbération générés pour cette pièce. Des valeurs plus élevées entraîneront des temps de réverbération plus longs, donnant l'impression que la pièce est plus grande.
La valeur par défaut est 1. Les valeurs négatives sont converties en 0.
Fonctions d'accès :
| float | reverbTime() const |
| void | setReverbTime(float factor) |
Signal de notification :
| void | reverbTimeChanged() |
rotation : QQuaternion
Définit l'orientation de la pièce dans l'espace 3D.
Fonctions d'accès :
| QQuaternion | rotation() const |
| void | setRotation(const QQuaternion &q) |
Signal de notification :
| void | rotationChanged() |
Documentation des fonctions membres
[explicit] QAudioRoom::QAudioRoom(QAudioEngine *engine)
Crée une instance de QAudioRoom pour engine.
Remarque : doit être appelé avec un QAudioEngine
[override virtual noexcept] QAudioRoom::~QAudioRoom()
Ça met la pièce sens dessus dessous.
void QAudioRoom::setWallMaterial(QAudioRoom::Wall wall, QAudioRoom::Material material)
Définit wall sur material.
Les différents matériaux des murs présentent des propriétés de réflexion et de réverbération qui influencent l’acoustique de la pièce.
Voir également wallMaterial(), Material et QAudioRoom::Wall.
QAudioRoom::Material QAudioRoom::wallMaterial(QAudioRoom::Wall wall) const
Renvoie le matériau utilisé pour wall.
Voir également setWallMaterial(), Material et QAudioRoom::Wall.
[signal] void QAudioRoom::wallsChanged()
Signale les changements de matériau des murs.
© 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.