Aller au contenu principal

Importer de l'audio

Aperçu

Le processus d'importation d'audio au runtime peut être décomposé en plusieurs étapes :

  1. Créer un Runtime Audio Importer
  2. Se lier aux délégués nécessaires (OnProgress et OnResult)
  3. Importer l'audio depuis un fichier ou un buffer
  4. Jouer le sound wave importé obtenu depuis le délégué OnResult (plus d'informations sont disponibles ici)
Note importante

Assurez-vous que les instances Runtime Audio Importer et Sound Wave ne soient pas prématurément collectées par le garbage collector en maintenant une référence forte vers elles. Cela peut être fait en les assignant à des variables séparées en utilisant UPROPERTY(), TStrongObjectPtr, ou toute autre méthode empêchant la destruction de l'objet.

Formats audio pris en charge

Runtime Audio Importer prend en charge l'importation des formats audio suivants :

FormatDescription
MP3MPEG-1/2/2.5 Audio Layer I/II/III
WAVWaveform Audio File Format
FLACFree Lossless Audio Codec
OGG VORBISConteneur Ogg avec audio Vorbis
OGG OPUSConteneur Ogg avec audio Opus
BINKBink Audio
RAW (PCM)Données audio Pulse-Code Modulation non compressées (Int8, UInt8, Int16, UInt16, Int32, UInt32, Float32)
astuce

Lors de l'importation d'audio, vous pouvez soit spécifier le format explicitement, soit utiliser la détection automatique de format basée sur l'extension du fichier ou son contenu.

Importations audio en streaming

Pour les scénarios de streaming où les données audio sont reçues de manière incrémentielle (par exemple, depuis un serveur, une capture en temps réel ou des flux réseau), envisagez d'utiliser Streaming Sound Waves.

Cette méthode permet d'ajouter continuellement des données audio au même buffer d'un sound wave, ce qui la rend adaptée aux flux en direct ou aux fichiers volumineux traités par morceaux. Consultez la documentation Streaming Sound Wave pour plus de détails.

Étapes de base de mise en œuvre

1. Créer un Runtime Audio Importer

Tout d'abord, vous devez créer un objet Runtime Audio Importer. Vous devez vous assurer qu'il est traité comme une référence forte par le garbage collector.

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

astuce

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

attention

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

4. Démarrer l'Import Audio

Commencez le processus d'import audio en appelant la fonction pertinente, 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 scanner un répertoire pour trouver des fichiers audio pris en charge :

Scan Directory For Audio Files node

Exemple Complet

Voici une implémentation complète pour l'importation audio :

Exemple complet