Saltar al contenido principal

Importar Audio

Descripción General

El proceso de importar audio en tiempo de ejecución se puede desglosar en varios pasos:

  1. Crear un Runtime Audio Importer
  2. Vincularse a los delegados necesarios (OnProgress y OnResult)
  3. Importar audio desde un archivo o búfer
  4. Reproducir la onda sonora importada obtenida del delegado OnResult (más información aquí)
Nota Importante

Asegúrate de que tanto las instancias de Runtime Audio Importer como de Sound Wave no sean recolectadas prematuramente por el recolector de basura manteniendo una referencia fuerte a ellas, lo cual se puede hacer asignándolas a variables separadas usando UPROPERTY(), TStrongObjectPtr, o cualquier otro método que evite que el objeto sea destruido.

Formatos de Audio Soportados

Runtime Audio Importer soporta importar los siguientes formatos de audio:

FormatoDescripción
MP3MPEG-1/2/2.5 Audio Layer I/II/III
WAVWaveform Audio File Format
FLACFree Lossless Audio Codec
OGG VORBISContenedor Ogg con audio Vorbis
OGG OPUSContenedor Ogg con audio Opus
BINKBink Audio
RAW (PCM)Datos de audio sin comprimir Pulse-Code Modulation (Int8, UInt8, Int16, UInt16, Int32, UInt32, Float32)
tip

Al importar audio, puedes especificar el formato explícitamente o usar la detección automática de formato basada en la extensión del archivo o su contenido.

Importaciones de Audio en Streaming

Para escenarios de streaming donde los datos de audio se reciben de forma incremental (por ejemplo, desde un servidor, captura en tiempo real o transmisiones de red), considera usar Streaming Sound Waves.

Este método proporciona una forma continua de añadir datos de audio al mismo búfer de la onda sonora, haciéndolo adecuado para transmisiones en vivo o archivos grandes procesados en fragmentos. Consulta la documentación de Streaming Sound Wave para más detalles.

Pasos Básicos de Implementación

1. Crear Runtime Audio Importer

Primero, necesitas crear un objeto Runtime Audio Importer. Debes asegurarte de que sea tratado como una referencia fuerte por el recolector de basura.

Create Runtime Audio Importer node

2. Vincular al Delegado OnProgress

Para rastrear el progreso de la importación de datos de audio, puedes vincular al delegado OnProgress (Blueprints) / OnProgressNative (C++).

Un ejemplo de vinculación al delegado On Progress

tip

Esto te permitirá monitorear el progreso y, por ejemplo, implementar una pantalla de carga.

3. Vincular al Delegado OnResult

Para ser notificado cuando el proceso de importación de datos de audio esté completo y para acceder a la referencia de la onda de sonido resultante, debes vincular al delegado OnResult (Blueprints) / OnResultNative (C++).

Un ejemplo de vinculación al delegado On Result

aviso

Asegúrate de que la onda de sonido importada sea tratada como una referencia fuerte por el recolector de basura para evitar una recolección prematura no deseada. Esto se puede hacer colocándola como una variable separada en Blueprints.

4. Iniciar Importación de Audio

Comienza el proceso de importación de audio llamando a la función relevante, que puede manejar tanto formatos de datos de audio comprimidos como sin comprimir.

Ejemplos de nodos Import Audio

Funciones de Utilidad

Encontrar Archivos de Audio

Puedes escanear un directorio en busca de archivos de audio compatibles:

Nodo Scan Directory For Audio Files

Ejemplo Completo

Aquí hay un ejemplo de implementación completo para importar audio:

Ejemplo completo