Saltar al contenido principal

Captura de Audio de Pixel Streaming

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

Pixel Streaming vs Pixel Streaming 2

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

  • Pixel Streaming - El complemento 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 Complemento de Extensión

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

  1. Asegurarte de que el complemento Runtime Audio Importer ya esté instalado en tu proyecto
  2. Descargar el complemento 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. Recompilar tu proyecto (esta extensión requiere un proyecto C++)
important
  • Estas extensiones se proporcionan como código fuente y requieren un proyecto C++ para utilizarlas
  • Extensión Pixel Streaming: Compatible con UE 5.2 y versiones posteriores
  • Extensión Pixel Streaming 2: Compatible con UE 5.5 y versiones posteriores
  • Para obtener más información sobre cómo construir complementos manualmente, consulta el tutorial de Construcción de Complementos

Descripción General

La Onda de Sonido Capturable de Pixel Streaming amplía 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

Crear 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++).

Iniciando y Deteniendo 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.

Verificando el Estado de la Captura

Puedes verificar 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 de 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 característica con el plugin Runtime Speech Recognizer:

  1. Captura audio de los 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 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 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 posterior o análisis