Saltar al contenido principal

Capturable Sound Wave

Descripción general

Una onda de sonido capturable se deriva de la onda de sonido de transmisión en tiempo real. Admite la captura de datos de audio desde dispositivos de entrada como un micrófono y su reproducción, con las mismas capacidades que una onda de sonido importada (incluyendo rebobinado, uso en SoundCues, etc.). Incluso puedes capturar y reproducir audio simultáneamente sin ninguna limitación.

tip

Para la Detección de Actividad de Voz (VAD), consulta esta página.

nota

La onda de sonido capturable solicita automáticamente permisos de micrófono en iOS y Android una vez que se inicia la captura.

Uso básico

Crear una Onda de Sonido Capturable

Primero debes crear una onda de sonido capturable.

Nodo Crear Onda de Sonido Capturable

aviso

Debes tratar la onda de sonido capturable como una referencia fuerte para evitar su destrucción prematura (por ejemplo, asignándola a una variable separada en Blueprints o usando UPROPERTY() en C++).

Obtención de Dispositivos de Entrada Disponibles

Para usar esta característica, primero necesitas obtener todos los dispositivos de entrada de audio disponibles que pueden usarse para la captura.

Nodo Obtener Dispositivos de Entrada de Audio Disponibles

Iniciar y Detener la Captura

Después de obtener los dispositivos disponibles, puedes comenzar a capturar datos de audio desde el dispositivo de entrada y detenerlo cuando sea necesario.

Nodos de Iniciar y Detener captura

info

DeviceId es el índice del dispositivo en el array de dispositivos disponibles obtenido del paso anterior. Para usar el dispositivo de entrada de audio predeterminado, pasa -1 en Blueprints o Audio::DefaultDeviceIndex en C++ (que equivale a INDEX_NONE), ya que a veces el índice cero no es el dispositivo predeterminado.

Verificación del Estado de Captura

Puedes verificar si la onda de sonido está capturando audio actualmente:

Nodo Is Capturing

Características Avanzadas

Silenciar y Activar la Captura

Puedes elegir silenciar o activar la captura de sonido para evitar la acumulación de datos de audio sin interrumpir el proceso de captura.

Toggle Mute nodes

Diferencias de Versión del Motor

UE 5.3 y más recientes: Iniciar y detener la captura ya no causa tirones, por lo que ToggleMute tiene el mismo efecto que StartCapture/StopCapture. Es posible que no necesites usar ToggleMute en absoluto para la optimización del rendimiento.

UE 5.2 y anteriores: Iniciar la captura a través de StartCapture puede causar pequeños tirones. En estas versiones, se recomienda usar ToggleMute para cambiar frecuentemente la captura de encendido a apagado. Deberías iniciar primero la captura en sí durante un momento menos crítico (como una pantalla de carga), y luego usar mute/unmute para controlar cuándo se acumulan realmente los datos de audio.

Optimización de Rendimiento para Versiones Anteriores del Motor

Si estás usando UE 5.2 o anterior y quieres eliminar ligeras congelaciones, considera iniciar la captura durante un momento en el que esta congelación podría ser insignificante. Por ejemplo, podrías iniciar la captura durante la pantalla de carga de tu juego, silenciar la onda de sonido capturable justo después de eso, y luego quitar el silencio de la onda de sonido capturable cuando sea necesario para capturar datos de audio sin ningún tirón.

Ejemplo Completo

Aquí tienes un ejemplo de implementación completa del uso de una onda de sonido capturable:

Un ejemplo de uso de una onda de sonido capturable