Saltar al contenido principal

Importar audio

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

  1. Crear un Runtime Audio Importer.
  2. Vincular a los delegados necesarios (OnProgress y OnResult).
  3. Importar audio desde un archivo o un buffer.
  4. Reproducir la onda de sonido importada obtenida del delegado OnResult (más información aquí).

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

Ejemplo en planos

Primero, necesitas crear un objeto Runtime Audio Importer. Debes asegurarte de que sea tratado como una referencia fuerte por el recolector de basura, lo cual se puede lograr colocándolo como una variable separada en los planos. Esto previene la destrucción prematura del objeto.

Nodo de Create Runtime Audio Importer


Para rastrear el progreso de la importación de datos de audio, puedes enlazar al delegado OnProgress (Blueprints) / OnProgressNative (C++). Esto te permitirá monitorear el progreso y, por ejemplo, implementar una pantalla de carga. Para enlazar a este delegado, simplemente puedes extraer el pin de evento desde el nodo de enlazar evento.

Un ejemplo de cómo enlazar al delegado On Progress


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 vincularte al delegado OnResult (Blueprints) / OnResultNative (C++). Además, asegúrate de que la onda de sonido importada sea tratada como una referencia fuerte por el recolector de basura para prevenir una recolección de basura no deseada y prematura. Esto se puede lograr colocándola como una variable separada en Blueprints.

Un ejemplo de vinculación al delegado On Result


Inicia el proceso de importación de audio llamando a la función correspondiente, que puede manejar formatos de datos de audio tanto comprimidos como no comprimidos.

Ejemplos de nodos de importación de audio


Una vez que el proceso de importación esté completo, la onda de sonido importada resultante se puede obtener a través del delegado OnResult.

Ejemplo completo

Ejemplo completo