Auf dieser Seite

Überblick über räumliches Audio

Die „ Qt Spatial Audio “-API stellt eine Reihe von Klassen bereit, mit denen sich dreidimensionale Klanglandschaften erstellen lassen. Diese werden durch Objekte im 3D-Raum definiert, die Ton ausstrahlen, sowie durch die umgebende Geometrie, die mithilfe eines oder mehrerer Räume modelliert werden kann. Schließlich kann ein Zuhörer an einer bestimmten Position und Ausrichtung in dieser Klanglandschaft platziert werden.

Es stehen sowohl C++- als auch QML-APIs zur Verfügung.

Erstellen einer Klangszene

Um die Klangszene zu erstellen, instanziiert man zunächst eine ` QAudioEngine`. Diese Engine verarbeitet eingehende Klangdaten und Geometrien, um eine realistische Darstellung der Klangszene zu erzeugen, wie sie von einer Person wahrgenommen würde, die sich an einer bestimmten Stelle innerhalb der Szene befindet.

Die Eigenschaft „ QAudioEngine::OutputMode “ kann verwendet werden, um die Ausgabe entweder für Kopfhörer mittels binauraler (virtueller 3D-)Wiedergabe oder für eine Stereo- oder Surround-Lautsprecherkonfiguration zu optimieren.

Das Ausgabegerät kann über die Eigenschaft „ QAudioEngine::outputDevice “ ausgewählt werden.

Sobald die Engine eingerichtet ist, können wir verschiedene Klangobjekte in die Szene platzieren, indem wir „ QSpatialSound “-Objekte erstellen und mithilfe der Eigenschaft „ QSpatialSound::source “ eine URL zu einer Audiodatei angeben.

QAudioListener Mit `listener` lassen sich Position und Ausrichtung einer Person definieren, die die Soundszene hört. Pro Engine kann maximal ein Zuhörer verwendet werden. Wird kein Zuhörer angegeben, geht die Engine davon aus, dass sich der Zuhörer am Ursprung des Koordinatensystems befindet und in die positive z-Richtung blickt, wobei die positive y-Achse nach oben zeigt.

Zusätzlich zu Klangquellen und einem Zuhörer können Sie mithilfe einer Reihe von „ QAudioRoom “-Objekten eine Geometrie definieren, die beeinflusst, wie der Klang vom Zuhörer wahrgenommen wird. Räume sind rechteckig und unterstützen eine Vielzahl von Materialien für jede Wand, was durch unterschiedliche Schallreflexionen und Nachhall ein unterschiedliches Hörerlebnis erzeugt. Raumeffekte werden angewendet, wenn sich der Zuhörer in einem der Räume befindet. Befindet er sich in mehreren Räumen, hat der Raum mit dem kleinsten geometrischen Volumen Vorrang.

Wenn Sie eine Stereo-Überlagerung benötigen, die unabhängig von der Position und Ausrichtung des Zuhörers ist (z. B. Hintergrundmusik oder ein Voice-Over), können Sie „ QAmbientSound “ verwenden, um die Tonüberlagerung zu erzeugen.

Ein kleines, auf QWidget basierendes Beispiel, das eine Audioquelle zeigt, die innerhalb eines Raums verschoben werden kann, finden Sie im Beispiel „Spacial Audio Panning“.

Referenzdokumentation

C++-Klassen

QAmbientSound

Ein Stereo-Overlay-Sound

QAudioEngine

Verwaltet ein dreidimensionales Klangfeld

QAudioListener

Definiert die Position und Ausrichtung der Person, die ein von QAudioEngine definiertes Klangfeld hört

QAudioRoom

QSpatialSound

Ein Klangobjekt im 3D-Raum

QML-Typen

AmbientSound

Ein Stereo-Overlay-Sound

AudioEngine

Verwaltet Klangobjekte innerhalb einer 3D-Szene

AudioListener

Definiert die Position und Ausrichtung der Person, die ein von einer AudioEngine definiertes Schallfeld hört

AudioRoom

SpatialSound

Ein Soundobjekt im 3D-Raum

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