Saltar al contenido principal

Captura de Audio en Pixel Streaming

Pixel Streaming es un complemento para Unreal Engine que transmite cuadros renderizados y sincroniza la entrada/salida a través de WebRTC. La aplicación se ejecuta del lado del servidor, mientras que el cliente maneja la renderización y la interacción del usuario. Para más detalles sobre Pixel Streaming y su configuración, consulte la Documentación de Pixel Streaming.

Compatibilidad

Esta solución funciona con:

La implementación ha sido probada en estos entornos y funciona correctamente independientemente de la solución de hospedaje de Pixel Streaming utilizada.

Instalación del Plugin de Extensión

Esta característica se proporciona como una extensión del plugin Runtime Audio Importer. Para usarlo, necesitas:

  1. Asegúrate de que el plugin Runtime Audio Importer ya esté instalado en tu proyecto
  2. Descarga la extensión del plugin de captura de audio de Pixel Streaming desde Google Drive
  3. Extrae la carpeta del archivo descargado en la carpeta Plugins de tu proyecto (crea esta carpeta si no existe)
  4. Reconstruye tu proyecto (esta extensión requiere un proyecto C++)
important
  • Esta extensión se proporciona como código fuente y requiere un proyecto C++ para ser utilizada
  • Versiones de Unreal Engine compatibles: UE 5.2 y posteriores
  • Para más información sobre cómo construir plugins manualmente, consulta el tutorial de Construcción de Plugins

Resumen

El Pixel Streaming Capturable Sound Wave amplía el estándar Capturable Sound Wave para permitir la captura de audio directamente desde los micrófonos de los clientes de Pixel Streaming. Esta función te permite:

  • Capturar audio desde navegadores conectados vía Pixel Streaming
  • Procesar audio de jugadores/pares específicos
  • Implementar chat de voz, comandos de voz o grabación de audio de usuarios remotos

Uso Básico

Creación de un Pixel Streaming Capturable Sound Wave

Primero, necesitas crear un objeto Pixel Streaming Capturable Sound Wave:

Crear nodo de Pixel Streaming Capturable Sound Wave

Debes tratar el Pixel Streaming Capturable Sound Wave como una referencia fuerte para prevenir su destrucción prematura (por ejemplo, asignándolo a una variable separada en Blueprints o usando UPROPERTY() en C++).

Inicio y Detención de Captura

Puedes iniciar y detener la captura de audio con simples llamadas a funciones:

Nodos de Inicio y Detención de Captura

nota

El parámetro DeviceId en StartCapture se ignora para Pixel Streaming Capturable Sound Waves, ya que la fuente de captura se determina automáticamente o por la información del jugador que configures.

Verificación del Estado de Captura

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

Is Capturing node

Ejemplo Completo

Aquí hay un ejemplo completo de cómo configurar la captura de audio de Pixel Streaming:

Ejemplo Completo de Captura de Pixel Streaming

Trabajando con Múltiples Reproductores de Pixel Streaming

En escenarios donde tienes múltiples clientes de Pixel Streaming conectados simultáneamente, es posible que necesites capturar audio de jugadores específicos. Las siguientes características te ayudarán a gestionar esto.

Obteniendo Reproductores de Pixel Streaming Disponibles

Para identificar qué jugadores de Pixel Streaming están conectados:

Nodo para Obtener Reproductores de Pixel Streaming Disponibles

Configurando el Jugador para Capturar Desde

Cuando necesites capturar desde un jugador específico:

Nodo de Set Player To Capture From

info

Si dejas el ID del jugador vacío, la onda de sonido automáticamente escuchará al primer jugador disponible que se conecte. Este es el comportamiento predeterminado y funciona bien para escenarios de un solo jugador.

Casos de Uso Comunes

Implementación de Chat de Voz

Puedes usar Pixel Streaming Capturable Sound Waves para implementar un chat de voz entre usuarios remotos y jugadores locales:

  1. Crea una Pixel Streaming Capturable Sound Wave para cada jugador conectado
  2. Configura un sistema para gestionar qué jugadores están actualmente hablando
  3. Usa el sistema de Detección de Actividad de Voz para detectar cuándo los usuarios están hablando
  4. Espacializa el audio utilizando el sistema de audio de Unreal Engine si es necesario

Comandos de Voz con Reconocimiento de Voz

Puedes implementar reconocimiento de comandos de voz para usuarios remotos combinando esta función con el plugin Runtime Speech Recognizer:

  1. Captura audio de los clientes de Pixel Streaming usando Pixel Streaming Capturable Sound Wave
  2. Alimenta el audio capturado directamente al Runtime Speech Recognizer
  3. Procesa el texto reconocido en la lógica de tu juego

Simplemente reemplaza la Capturable Sound Wave estándar con una Pixel Streaming Capturable Sound Wave en los ejemplos de Runtime Speech Recognizer, y funcionará perfectamente con la entrada de audio de Pixel Streaming.

Grabación de Audio de Usuarios Remotos

Puedes grabar audio de usuarios remotos para reproducirlo más tarde:

  1. Captura el audio usando Pixel Streaming Capturable Sound Wave
  2. Exporta el audio capturado a un archivo usando Export Audio
  3. Guarda el archivo para uso o análisis posterior