Visión general del audio espacial
La API Qt Spatial Audio proporciona una serie de clases que permiten crear una escena sonora tridimensional. Está definida por objetos situados en un espacio tridimensional que emiten sonido y una geometría circundante que puede modelarse utilizando una o varias salas. Por último, se puede colocar un oyente en esta escena sonora en una posición y orientación determinadas.
Se pueden utilizar las API C++ y QML.
Creación de una escena sonora
Para crear una escena sonora, en primer lugar se crea una instancia de QAudioEngine. Este motor procesa los datos de sonido y las geometrías de entrada para crear una representación realista de la escena sonora tal y como la experimentaría una persona situada en un lugar específico dentro de la escena.
La propiedad QAudioEngine::OutputMode puede utilizarse para optimizar la salida, ya sea para auriculares mediante renderización binaural (3D virtual) o para una configuración de altavoces estéreo o envolvente.
El dispositivo de salida puede seleccionarse utilizando la propiedad QAudioEngine::outputDevice.
Una vez configurado el motor, podemos colocar varios objetos de sonido en la escena creando objetos QSpatialSound y especificando una url a un archivo de sonido usando la propiedad QSpatialSound::source.
QAudioListener puede utilizarse para definir la posición y orientación de una persona que escucha la escena sonora. Se puede utilizar como máximo un oyente por motor. Si no se especifica ningún oyente, el motor asume que el oyente se encuentra en el origen del sistema de coordenadas orientado hacia una dirección z positiva, con y positiva apuntando hacia arriba.
Además de las fuentes de sonido y un oyente, se puede definir una geometría que influya en cómo el oyente experimenta el sonido a través de un conjunto de objetos QAudioRoom. Las salas son rectangulares y admiten una amplia variedad de materiales para cada pared, lo que proporciona una experiencia diferente con distintas reflexiones sonoras y reverberaciones. Los efectos de sala se aplicarán si el oyente se encuentra dentro de una de las salas. Si se encuentra dentro de varias habitaciones, la habitación con el volumen geométrico más pequeño tendrá prioridad.
Si necesita una superposición estéreo que sea independiente de la posición y orientación del oyente (como música de fondo o una voz en off), puede utilizar QAmbientSound para crear la superposición de sonido.
Para un pequeño ejemplo basado en QWidget mostrando una fuente de audio que se puede mover alrededor de una habitación, echa un vistazo al Ejemplo de Audio Espacial Panning.
Documentación de Referencia
Clases C
Un sonido estéreo superpuesto | |
Gestiona un campo de sonido tridimensional | |
Define la posición y orientación de la persona que escucha un campo sonoro definido por QAudioEngine | |
Un objeto de sonido en el espacio 3D |
Tipos QML
Un sonido superpuesto estéreo | |
Gestiona objetos sonoros dentro de una escena tridimensional | |
Define la posición y orientación de la persona que escucha un campo sonoro definido por una AudioEngine | |
Un objeto sonoro en el espacio 3D |
© 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.