Pular para o conteúdo principal

Captura de Áudio do Pixel Streaming

Pixel Streaming é um plugin para Unreal Engine que transmite quadros renderizados e sincroniza entrada/saída via WebRTC. A aplicação é executada no lado do servidor, enquanto o lado do cliente lida com a renderização e interação do usuário. Para mais detalhes sobre Pixel Streaming e configuração, consulte a Documentação do Pixel Streaming.

Pixel Streaming vs Pixel Streaming 2

Este plugin suporta ambas as versões do Pixel Streaming disponíveis no Unreal Engine:

  • Pixel Streaming - O plugin original, disponível desde UE 5.2 e ainda ativamente usado nas versões atuais do motor
  • Pixel Streaming 2 - Introduzido na UE 5.5 como uma implementação de próxima geração com uma arquitetura interna melhorada. Saiba mais sobre o Pixel Streaming 2

Ambas as versões são totalmente suportadas e disponíveis nas versões mais recentes do Unreal Engine. Escolha a versão que corresponde à configuração do Pixel Streaming do seu projeto.

info

A API para ambas as versões é idêntica, com a única diferença sendo que as classes e funções do Pixel Streaming 2 incluem "2" em seus nomes (ex: UPixelStreamingCapturableSoundWave vs UPixelStreaming2CapturableSoundWave).

Compatibilidade

Esta solução funciona com:

A implementação foi testada nestes ambientes e funciona corretamente independentemente da solução de hospedagem do Pixel Streaming utilizada.

Instalação do Plugin de Extensão

Este recurso é fornecido como uma extensão para o plugin Runtime Audio Importer. Para usá-lo, você precisa:

  1. Certificar-se de que o plugin Runtime Audio Importer já está instalado em seu projeto
  2. Baixar o plugin de extensão para sua versão do Pixel Streaming:
  3. Extrair a pasta do arquivo baixado para a pasta Plugins do seu projeto (crie esta pasta se ela não existir)
  4. Recompilar seu projeto (esta extensão requer um projeto C++)
important
  • Essas extensões são fornecidas como código-fonte e requerem um projeto C++ para uso
  • Extensão Pixel Streaming: Suportada no UE 5.2 e posterior
  • Extensão Pixel Streaming 2: Suportada no UE 5.5 e posterior
  • Para mais informações sobre como construir plugins manualmente, consulte o tutorial de Construção de Plugins

Visão Geral

O Pixel Streaming Capturable Sound Wave estende o Capturable Sound Wave padrão para permitir a captura de áudio diretamente dos microfones dos clientes do Pixel Streaming. Este recurso permite que você:

  • Capture áudio de navegadores conectados via Pixel Streaming
  • Processe áudio de jogadores/peers específicos
  • Implemente chat de voz, comandos de voz ou gravação de áudio de usuários remotos

Uso Básico

Criando um Pixel Streaming Capturable Sound Wave

Primeiro, você precisa criar um objeto Pixel Streaming Capturable Sound Wave:

Nó Create Pixel Streaming Capturable Sound Wave

atenção

Você deve tratar o Pixel Streaming Capturable Sound Wave como uma referência forte para evitar destruição prematura (por exemplo, atribuindo-a a uma variável separada em Blueprints ou usando UPROPERTY() em C++).

Iniciando e Parando a Captura

Você pode iniciar e parar a captura de áudio com chamadas de função simples:

Nós Iniciar e Parar Captura

nota

O parâmetro DeviceId em StartCapture é ignorado para Ondas Sonoras Capturáveis do Pixel Streaming, pois a fonte de captura é determinada automaticamente ou pelas informações do player que você definiu.

Verificando o Status da Captura

Você pode verificar se a onda sonora está atualmente capturando áudio:

Nó Is Capturing

Exemplo Completo

Aqui está um exemplo completo de como configurar a captura de áudio do Pixel Streaming:

Exemplo Completo de Captura Pixel Streaming

Trabalhando com Múltiplos Jogadores de Pixel Streaming

Em cenários onde você tem múltiplos clientes de Pixel Streaming conectados simultaneamente, você pode precisar capturar áudio de jogadores específicos. Os seguintes recursos ajudam você a gerenciar isso.

Obtendo Jogadores de Pixel Streaming Disponíveis

Para identificar quais jogadores de Pixel Streaming estão conectados:

Nó Obter Jogadores de Pixel Streaming Disponíveis

Configurando o Jogador para Capturar De

Quando você precisa capturar de um jogador específico:

Nó Set Player To Capture From

info

Se você deixar o ID do Jogador vazio, a onda sonora irá automaticamente escutar o primeiro jogador disponível que se conectar. Este é o comportamento padrão e funciona bem para cenários de jogador único.

Casos de Uso Comuns

Implementação de Chat de Voz

Você pode usar Pixel Streaming Capturable Sound Waves para implementar chat de voz entre usuários remotos e jogadores locais:

  1. Crie um Pixel Streaming Capturable Sound Wave para cada jogador conectado
  2. Configure um sistema para gerenciar quais jogadores estão falando atualmente
  3. Use o sistema de Detecção de Atividade de Voz para detectar quando os usuários estão falando
  4. Espacialize o áudio usando o sistema de áudio do Unreal Engine, se necessário

Comandos de Voz com Reconhecimento de Fala

Você pode implementar reconhecimento de comandos de voz para usuários remotos combinando este recurso com o plugin Runtime Speech Recognizer:

  1. Capture áudio de clientes Pixel Streaming usando Pixel Streaming Capturable Sound Wave
  2. Alimente o áudio capturado diretamente para o Runtime Speech Recognizer
  3. Processe o texto reconhecido na sua lógica de jogo

Simplesmente substitua o Capturable Sound Wave padrão por um Pixel Streaming Capturable Sound Wave (ou Pixel Streaming 2 Capturable Sound Wave) nos exemplos do Runtime Speech Recognizer, e ele funcionará perfeitamente com a entrada de áudio do Pixel Streaming.

Gravação de Áudio de Usuários Remotos

Você pode gravar áudio de usuários remotos para reprodução posterior:

  1. Capture áudio usando Pixel Streaming Capturable Sound Wave
  2. Exporte o áudio capturado para um arquivo usando Exportar Áudio
  3. Salve o arquivo para uso ou análise posterior