Zum Hauptinhalt springen

Audio importieren

Übersicht

Der Prozess des Audioimports zur Laufzeit kann in mehrere Schritte unterteilt werden:

  1. Einen Runtime Audio Importer erstellen
  2. An die benötigten Delegaten binden (OnProgress und OnResult)
  3. Audio aus einer Datei oder einem Puffer importieren
  4. Die importierte Sound Wave abspielen, die vom OnResult-Delegaten erhalten wurde (weitere Informationen hier)
Wichtiger Hinweis

Stellen Sie sicher, dass sowohl Runtime Audio Importer- als auch Sound Wave-Instanzen nicht vorzeitig vom Garbage Collector erfasst werden, indem Sie eine starke Referenz auf sie halten. Dies kann erreicht werden, indem Sie sie separaten Variablen mit UPROPERTY(), TStrongObjectPtr oder einer anderen Methode zuweisen, die das Objekt vor der Zerstörung bewahrt.

Unterstützte Audioformate

Runtime Audio Importer unterstützt den Import der folgenden Audioformate:

FormatBeschreibung
MP3MPEG-1/2/2.5 Audio Layer I/II/III
WAVWaveform Audio File Format
FLACFree Lossless Audio Codec
OGG VORBISOgg-Container mit Vorbis-Audio
OGG OPUSOgg-Container mit Opus-Audio
BINKBink Audio
RAW (PCM)Unkomprimierte Pulse-Code-Modulation-Audiodaten (Int8, UInt8, Int16, UInt16, Int32, UInt32, Float32)
tipp

Beim Audioimport können Sie das Format entweder explizit angeben oder die automatische Format-Erkennung basierend auf Dateierweiterung oder Inhalt verwenden.

Streaming Audio Imports

Für Streaming-Szenarien, bei denen Audiodaten inkrementell empfangen werden (z. B. von einem Server, in Echtzeit erfasst oder aus Netzwerk-Streams), sollten Sie Streaming Sound Waves in Betracht ziehen.

Diese Methode bietet eine kontinuierliche Möglichkeit, Audiodaten an denselben Puffer der Sound Wave anzuhängen, was sie für Live-Streams oder große Dateien, die in Blöcken verarbeitet werden, geeignet macht. Weitere Details finden Sie in der Streaming Sound Wave-Dokumentation.

Grundlegende Implementierungsschritte

1. Runtime Audio Importer erstellen

Zuerst müssen Sie ein Runtime Audio Importer-Objekt erstellen. Sie sollten sicherstellen, dass es vom Garbage Collector als starke Referenz behandelt wird.

Create Runtime Audio Importer node

2. Lier au délégué OnProgress

Pour suivre la progression de l'importation des données audio, vous pouvez lier au délégué OnProgress (Blueprints) / OnProgressNative (C++).

Un exemple de liaison au délégué On Progress

tipp

Cela vous permettra de surveiller la progression et, par exemple, d'implémenter un écran de chargement.

3. Lier au délégué OnResult

Pour être notifié lorsque le processus d'importation des données audio est terminé et pour accéder à la référence de l'onde sonore résultante, vous devez lier le délégué OnResult (Blueprints) / OnResultNative (C++).

Un exemple de liaison au délégué On Result

warnung

Assurez-vous que l'onde sonore importée est traitée comme une référence forte par le ramasse-miettes pour éviter une collecte prématurée non désirée. Cela peut être fait en la plaçant comme une variable séparée dans les Blueprints.

4. Démarrer l'import audio

Démarrez le processus d'import audio en appelant la fonction appropriée, qui peut gérer à la fois les formats de données audio compressées et non compressées.

Exemples de nœuds Import Audio

Fonctions utilitaires

Recherche de fichiers audio

Vous pouvez parcourir un répertoire à la recherche de fichiers audio pris en charge :

Scan Directory For Audio Files node

Exemple Complet

Voici un exemple d'implémentation complet pour l'importation audio :

Exemple complet