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 o UE 5.2 e ainda ativamente usado nas versões atuais do motor
  • Pixel Streaming 2 - Introduzido no UE 5.5 como uma implementação de próxima geração com uma arquitetura interna aprimorada. 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 (por exemplo, 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
  • Estas 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, veja o tutorial Construindo Plugins

Visão Geral​

A Onda Sonora Capturável do Pixel Streaming estende a Onda Sonora Capturável 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/pares específicos
  • Implemente chat de voz, comandos de voz ou gravação de áudio de usuários remotos

Uso Básico​

Criando uma Onda Sonora Capturável do Pixel Streaming​

Primeiro, você precisa criar um objeto de Onda Sonora Capturável do Pixel Streaming:

Nó Criar Onda Sonora Capturável do Pixel Streaming

atenção

Você deve tratar o Pixel Streaming Capturable Sound Wave como uma referência forte para evitar sua 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 Pixel Streaming Capturable Sound Waves, pois a fonte de captura é determinada automaticamente ou pelas informações do jogador 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 Players de Pixel Streaming​

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

Obtendo Players de Pixel Streaming Disponíveis​

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

Nó Get Available Pixel Streaming Players

Configurando o Jogador para Capturar​

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 ouvirá automaticamente 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 as Onda Sonora Capturável do Pixel Streaming para implementar chat de voz entre usuários remotos e jogadores locais:

  1. Crie uma Onda Sonora Capturável do Pixel Streaming para cada jogador conectado
  2. Configure um sistema para gerenciar quais jogadores estão falando no momento
  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 dos clientes do Pixel Streaming usando a Onda Sonora Capturável do Pixel Streaming
  2. Alimente o áudio capturado diretamente para o Runtime Speech Recognizer
  3. Processe o texto reconhecido na lógica do seu jogo

Simplesmente substitua a Onda Sonora Capturável padrão por uma Onda Sonora Capturável do Pixel Streaming (ou Onda Sonora Capturável do Pixel Streaming 2) 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 a Onda Sonora Capturável do Pixel Streaming
  2. Exporte o áudio capturado para um arquivo usando Exportar Áudio
  3. Salve o arquivo para uso ou análise posterior