Passa al contenuto principale

Importa Audio

Panoramica

Il processo di importazione dell'audio a runtime può essere suddiviso in diversi passaggi:

  1. Crea un Runtime Audio Importer
  2. Collega ai delegati necessari (OnProgress e OnResult)
  3. Importa audio da un file o buffer
  4. Riproduci la sound wave importata ottenuta dal delegato OnResult (maggiori informazioni qui)
Nota Importante

Assicurati che sia le istanze di Runtime Audio Importer che di Sound Wave non vengano garbage collected prematuramente mantenendo un riferimento forte ad esse, il che può essere fatto assegnandole a variabili separate usando UPROPERTY(), TStrongObjectPtr, o qualsiasi altro metodo che prevenga la distruzione dell'oggetto.

Formati Audio Supportati

Runtime Audio Importer supporta l'importazione dei seguenti formati audio:

FormatoDescrizione
MP3MPEG-1/2/2.5 Audio Layer I/II/III
WAVWaveform Audio File Format
FLACFree Lossless Audio Codec
OGG VORBISContenitore Ogg con audio Vorbis
OGG OPUSContenitore Ogg con audio Opus
BINKBink Audio
RAW (PCM)Dati audio Pulse-Code Modulation non compressi (Int8, UInt8, Int16, UInt16, Int32, UInt32, Float32)
suggerimento

Quando importi audio, puoi specificare il formato esplicitamente o usare il rilevamento automatico del formato basato sull'estensione del file o sul contenuto.

Importazioni Audio in Streaming

Per scenari di streaming in cui i dati audio vengono ricevuti in modo incrementale (ad esempio, da un server, acquisizione in tempo reale, o flussi di rete), considera l'uso di Streaming Sound Waves.

Questo metodo fornisce un modo continuo per aggiungere dati audio allo stesso buffer della sound wave, rendendolo adatto per flussi live o file grandi elaborati in blocchi. Vedi la documentazione di Streaming Sound Wave per maggiori dettagli.

Passaggi Base di Implementazione

1. Crea Runtime Audio Importer

Per prima cosa, devi creare un oggetto Runtime Audio Importer. Dovresti assicurarti che venga trattato come un riferimento forte dal garbage collector.

Nodo Create Runtime Audio Importer

2. Associa al Delegato OnProgress

Per tracciare lo stato di avanzamento dell'importazione dei dati audio, puoi associarti al delegato OnProgress (Blueprints) / OnProgressNative (C++).

Un esempio di associazione al delegato On Progress

suggerimento

Questo ti permetterà di monitorare l'avanzamento e, ad esempio, implementare una schermata di caricamento.

3. Collegati al Delegato OnResult

Per essere notificato quando il processo di importazione dei dati audio è completo e per accedere al riferimento dell'onda sonora risultante, devi collegarti al delegato OnResult (Blueprints) / OnResultNative (C++).

Un esempio di collegamento al delegato On Result

warning

Assicurati che l'onda sonora importata sia trattata come un riferimento forte dal garbage collector per prevenire una raccolta indesiderata prematura. Questo può essere fatto posizionandola come una variabile separata nei Blueprints.

4. Avvia Importazione Audio

Inizia il processo di importazione audio chiamando la funzione rilevante, che può gestire sia formati di dati audio compressi che non compressi.

Esempi di nodi Import Audio

Funzioni Utilità

Trovare File Audio

Puoi scansionare una directory per file audio supportati:

Scan Directory For Audio Files node

Esempio Completo

Ecco un esempio di implementazione completa per importare audio:

Esempio completo