Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

Audiostreams

Einführung

Wie Sie vielleicht bereits in Audio-Busse gelesen haben, wird der Ton über einen AudioStreamPlayer-Node an jeden Bus gesendet. Es gibt verschiedene Arten von AudioStreamPlayern. Jeder lädt einen AudioStream und spielt ihn ab.

AudioStream

Ein Audiostream ist ein abstraktes Objekt, das Ton ausgibt. Der Ton kann von vielen Orten kommen, wird aber meistens aus dem Dateisystem geladen. Audiodateien können als AudioStreams geladen und in einem AudioStreamPlayer platziert werden. Informationen über unterstützte Formate und Unterschiede finden Sie in Audio-Samples importieren.

Es gibt noch andere Arten von Audiostreams, wie z. B. AudioStreamRandomizer. Dieser wählt bei jeder Wiedergabe einen anderen Audiostream aus einer Liste von Streams aus und wendet zufällige Tonhöhen- und Lautstärkeänderungen an. Dies kann hilfreich sein, um Abwechslung in häufig wiedergegebene Sounds zu bringen.

AudioStreamPlayer

../../_images/audio_stream_player.webp

Dies ist der standardmäßige, nicht-positionierbare Stream-Player. Er kann auf jedem Bus spielen. In 5.1-Sound-Setups kann er Audio an den Stereomix oder die Frontlautsprecher senden.

Der Wiedergabetyp ist eine experimentelle Einstellung und könnte sich in zukünftigen Versionen von Godot ändern. Er existiert, damit Webexporte auf Web Audio-API basierende Samples verwenden, anstatt alle Sounds an den Browser zu streamen, anders als bei den meisten Plattformen. Dies verhindert, dass der Ton bei einfädigen Webexporten verstümmelt wird. Standardmäßig verwendet nur die Webplattform Samples. Es wird nicht empfohlen, diese Einstellung zu ändern, es sei denn, Sie haben einen ausdrücklichen Grund dafür. Sie können den Standardwiedergabetyp für das Web und andere Plattformen in den Projekteinstellungen unter Audio > Allgemein ändern (erweiterte Einstellungen müssen aktiviert sein, um die Einstellung anzuzeigen).

AudioStreamPlayer2D

../../_images/audio_stream_2d.webp

Dies ist eine Variante von AudioStreamPlayer, gibt jedoch Ton in einer 2D Positionsumgebung aus. Wenn Sie sich links vom Bildschirm befinden, stellt sich das Panning nach links, in der Nähe der rechten Seite dementsprechend nach rechts.

Bemerkung

Area2Ds können verwendet werden, um Sound von allen AudioStreamPlayer2Ds die sie enthalten, auf bestimmte Busse umzuleiten. Auf diese Weise können Busse mit unterschiedlichen Hall- oder Klangqualitäten erstellt werden, um die Aktionen in bestimmten Teilen Ihrer Spielwelt zu bewältigen.

../../_images/audio_stream_2d_area.webp

AudioStreamPlayer3D

../../_images/audio_stream_3d.webp

Hierbei handelt es sich um eine Variante des AudioStreamPlayers, die jedoch den Ton in einer 3D-Positionsumgebung wiedergibt. Je nach Position des Players im Verhältnis zum Bildschirm kann er den Ton in Stereo, 5.1 oder 7.1 ausgeben, je nach gewähltem Audio-Setup.

Ähnlich wie AudioStreamPlayer2D kann Area3D den Ton auf einen Audiobus umleiten.

../../_images/audio_stream_3d_area.webp

Im Gegensatz zu 2D bietet die 3D-Version von AudioStreamPlayer einige erweiterte Optionen:

Reverb-Busse

Warnung

This feature is not supported on the web platform if the AudioStreamPlayer's playback mode is set to Sample, which is the default. It will only work if the playback mode is set to Stream, at the cost of increased latency if threads are not enabled.

See Audio playback in the Exporting for the Web documentation for details.

Godot ermöglicht es 3D-Audiostreams, die einen bestimmten Area3D-Knoten erreichen, trockenes und nasses Audio an separate Busse zu senden. Dies ist nützlich, wenn Sie mehrere Hallkonfigurationen für unterschiedliche Raumtypen haben. Dies wird erreicht, indem dieser Halltyp im Abschnitt Hallbus der Area3D-Eigenschaften aktiviert wird:

../../_images/audio_stream_reverb_bus.webp

Gleichzeitig wird ein spezielles Bus-Layout erstellt, bei dem jeder Area3D die Hallinformationen von jedem Area3D empfängt. In jedem Hallbus muss ein Halleffekt erstellt und konfiguriert werden, um die Einrichtung für den gewünschten Effekt abzuschließen:

../../_images/audio_stream_reverb_bus2.webp

Der Abschnitt Reverb Bus von Area3D hat auch einen Parameter namens Uniformity. In manchen Raumtypen werden Geräusche stärker reflektiert als in anderen (z. B. in einem Lagerhaus), sodass der Nachhall im ganzen Raum fast gleichmäßig zu hören ist, auch wenn die Quelle weit entfernt ist. Durch Herumspielen mit diesem Parameter können Sie diesen Effekt simulieren.

Dopplereffekt

Warnung

This feature is not supported on the web platform if the AudioStreamPlayer's playback mode is set to Sample, which is the default. It will only work if the playback mode is set to Stream, at the cost of increased latency if threads are not enabled.

See Audio playback in the Exporting for the Web documentation for details.

Wenn sich die Relativgeschwindigkeit zwischen einem Sender und einem Hörer ändert, wird dies als Zunahme oder Abnahme der Tonhöhe des emittierten Tons wahrgenommen. Godot kann Geschwindigkeitsänderungen in dem AudioStreamPlayer3D-Node und Camera-Node verfolgen. Beide Nodes haben diese Property , die manuell aktiviert werden muss:

../../_images/audio_stream_doppler.webp

Aktivieren Sie sie abhängig davon, wie Objekte verschoben werden: verwenden Sie Leerlauf für Objekte, die mit _process verschoben wurden, oder Physik für Objekte, die mit _physics_process verschoben wurden. Das Tracking erfolgt automatisch.