Saltar al contenido principal

Captura de Audio de Pixel Streaming

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

Pixel Streaming vs Pixel Streaming 2

Este plugin es compatible con ambas versiones de Pixel Streaming disponibles en Unreal Engine:

  • Pixel Streaming - El plugin original, disponible desde UE 5.2 y aún utilizado activamente en las versiones actuales del motor
  • Pixel Streaming 2 - Introducido en UE 5.5 como una implementación de próxima generación con una arquitectura interna mejorada. Aprende más sobre Pixel Streaming 2

Ambas versiones son totalmente compatibles y están disponibles en las últimas versiones de Unreal Engine. Elige la versión que coincida con la configuración de Pixel Streaming de tu proyecto.

info

La API para ambas versiones es idéntica, siendo la única diferencia que las clases y funciones de Pixel Streaming 2 incluyen un "2" en sus nombres (por ejemplo, UPixelStreamingCapturableSoundWave vs UPixelStreaming2CapturableSoundWave).

Compatibilidad

Esta solución funciona con:

La implementación ha sido probada en estos entornos y funciona correctamente independientemente de la solución de alojamiento 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 usarla, necesitas:

  1. Asegurarte de que el plugin Runtime Audio Importer ya está instalado en tu proyecto
  2. Descargar el plugin de extensión para tu versión de Pixel Streaming:
  3. Extraer la carpeta del archivo descargado en la carpeta Plugins de tu proyecto (crea esta carpeta si no existe)
  4. Reconstruir tu proyecto (esta extensión requiere un proyecto C++)
important
  • Estas extensiones se proporcionan como código fuente y requieren un proyecto C++ para su uso
  • Extensión Pixel Streaming: Compatible con UE 5.2 y posteriores
  • Extensión Pixel Streaming 2: Compatible con UE 5.5 y posteriores
  • Para más información sobre cómo construir plugins manualmente, consulta el tutorial Construyendo Plugins

Descripción General

La Onda de Sonido Capturable de Pixel Streaming extiende la Onda de Sonido Capturable estándar para permitir capturar audio directamente de los micrófonos de los clientes de Pixel Streaming. Esta característica te permite:

  • Capturar audio desde navegadores conectados a través de 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

Creando una Onda de Sonido Capturable de Pixel Streaming

Primero, necesitas crear un objeto Onda de Sonido Capturable de Pixel Streaming:

Nodo Crear Onda de Sonido Capturable de Pixel Streaming

aviso

Debes tratar la Onda de Sonido Capturable de Pixel Streaming 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++).

Iniciar y Detener la Captura

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

Nodos Iniciar y Detener Captura

nota

El parámetro DeviceId en StartCapture se ignora para las Ondas Sonoras Capturables de Pixel Streaming, ya que la fuente de captura se determina automáticamente o mediante la información del jugador que configuraste.

Comprobando el Estado de la Captura

Puedes comprobar si la onda sonora está capturando audio actualmente:

Nodo Is Capturing

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 reproductores específicos. Las siguientes características te ayudan a gestionar esto.

Obteniendo Reproductores de Pixel Streaming Disponibles

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

Nodo Obtener Reproductores de Pixel Streaming Disponibles

Configurar el Jugador del que Capturar

Cuando necesitas capturar desde un jugador específico:

Nodo Set Player To Capture From

info

Si dejas el ID del Jugador vacío, la onda de sonido escuchará automáticamente 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 las Onda de Sonido Capturable de Pixel Streaming para implementar chat de voz entre usuarios remotos y jugadores locales:

  1. Crea una Onda de Sonido Capturable de Pixel Streaming para cada jugador conectado
  2. Configura un sistema para gestionar qué jugadores están hablando actualmente
  3. Usa el sistema de Detección de Actividad de Voz para detectar cuándo los usuarios están hablando
  4. Espacializa el audio usando 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 clientes de Pixel Streaming usando Onda de Sonido Capturable de Pixel Streaming
  2. Alimenta el audio capturado directamente al Runtime Speech Recognizer
  3. Procesa el texto reconocido en tu lógica del juego

Simplemente reemplaza la Onda de Sonido Capturable estándar con una Onda de Sonido Capturable de Pixel Streaming (o Onda de Sonido Capturable de Pixel Streaming 2) en los ejemplos del 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 audio usando Onda de Sonido Capturable de Pixel Streaming
  2. Exporta el audio capturado a un archivo usando Exportar Audio
  3. Guarda el archivo para uso o análisis posterior