Passa al contenuto principale

Pixel Streaming Audio Capture

Pixel Streaming è un plugin per Unreal Engine che trasmette in streaming i fotogrammi renderizzati e sincronizza input/output tramite WebRTC. L'applicazione viene eseguita lato server, mentre il lato client gestisce il rendering e l'interazione dell'utente. Per maggiori dettagli su Pixel Streaming e la configurazione, consulta la Documentazione di Pixel Streaming.

Pixel Streaming vs Pixel Streaming 2

Questo plugin supporta entrambe le versioni di Pixel Streaming disponibili in Unreal Engine:

  • Pixel Streaming - Il plugin originale, disponibile da UE 5.2 e ancora attivamente utilizzato nelle versioni attuali del motore
  • Pixel Streaming 2 - Introdotto in UE 5.5 come implementazione di prossima generazione con un'architettura interna migliorata. Scopri di più su Pixel Streaming 2

Entrambe le versioni sono completamente supportate e disponibili nelle ultime versioni di Unreal Engine. Scegli la versione che corrisponde alla configurazione Pixel Streaming del tuo progetto.

informazioni

L'API per entrambe le versioni è identica, con l'unica differenza che le classi e le funzioni di Pixel Streaming 2 includono "2" nei loro nomi (ad esempio, UPixelStreamingCapturableSoundWave vs UPixelStreaming2CapturableSoundWave).

Compatibilità

Questa soluzione funziona con:

L'implementazione è stata testata in questi ambienti e funziona correttamente indipendentemente dalla soluzione di hosting Pixel Streaming utilizzata.

Installazione del Plugin di Estensione

Questa funzionalità è fornita come estensione del plugin Runtime Audio Importer. Per usarla, devi:

  1. Assicurati che il plugin Runtime Audio Importer sia già installato nel tuo progetto
  2. Scarica il plugin di estensione per la tua versione di Pixel Streaming:
  3. Estrai la cartella dall'archivio scaricato nella cartella Plugins del tuo progetto (crea questa cartella se non esiste)
  4. Ricompila il tuo progetto (questa estensione richiede un progetto C++)
important
  • Queste estensioni sono fornite come codice sorgente e richiedono un progetto C++ per essere utilizzate
  • Estensione Pixel Streaming: Supportata in UE 5.2 e successive
  • Estensione Pixel Streaming 2: Supportata in UE 5.5 e successive
  • Per maggiori informazioni su come compilare manualmente i plugin, consulta il tutorial Building Plugins

Panoramica

L'Onda Sonora Catturabile Pixel Streaming estende la standard Onda Sonora Catturabile per consentire la cattura audio direttamente dai microfoni dei client Pixel Streaming. Questa funzionalità ti permette di:

  • Catturare audio dai browser connessi tramite Pixel Streaming
  • Elaborare audio da giocatori/peer specifici
  • Implementare chat vocale, comandi vocali o registrazione audio da utenti remoti

Utilizzo di Base

Creazione di un'Onda Sonora Catturabile Pixel Streaming

Innanzitutto, devi creare un oggetto Onda Sonora Catturabile Pixel Streaming:

Nodo Crea Onda Sonora Catturabile Pixel Streaming

warning

Dovresti trattare l'oggetto Pixel Streaming Capturable Sound Wave come un riferimento forte per prevenirne la distruzione prematura (ad esempio, assegnandolo a una variabile separata nei Blueprints o utilizzando UPROPERTY() in C++).

Avviare e Interrompere la Cattura

Puoi avviare e interrompere la cattura audio con semplici chiamate di funzione:

Nodi Avvia e Interrompi Cattura

note

Pixel Streaming Capturable Sound Waves の StartCapture における DeviceId パラメータは無視されます。キャプチャソースは自動的に、または設定したプレイヤー情報によって決定されるためです。

キャプチャ状態の確認

サウンドウェーブが現在オーディオをキャプチャしているかどうかを確認できます:

Is Capturing node

Esempio Completo

Ecco un esempio completo di come configurare la cattura audio di Pixel Streaming:

Esempio Completo di Cattura Pixel Streaming

Lavorare con Più Player di Pixel Streaming

Negli scenari in cui hai più client Pixel Streaming connessi simultaneamente, potrebbe essere necessario catturare l'audio da player specifici. Le seguenti funzionalità ti aiutano a gestire questa situazione.

Ottenere i Player di Pixel Streaming Disponibili

Per identificare quali player Pixel Streaming sono connessi:

Nodo Ottieni Player di Pixel Streaming Disponibili

Impostare il Giocatore da Catturare

Quando è necessario catturare da un giocatore specifico:

Nodo Set Player To Capture From

informazioni

Se lasci l'ID del giocatore vuoto, l'onda sonora ascolterà automaticamente il primo giocatore disponibile che si connette. Questo è il comportamento predefinito e funziona bene per scenari a giocatore singolo.

Casi d'Uso Comuni

Implementazione della Chat Vocale

Puoi utilizzare le Pixel Streaming Capturable Sound Waves per implementare una chat vocale tra utenti remoti e giocatori locali:

  1. Crea una Pixel Streaming Capturable Sound Wave per ogni giocatore connesso
  2. Imposta un sistema per gestire quali giocatori stanno parlando in quel momento
  3. Usa il sistema di Rilevamento dell'Attività Vocale per rilevare quando gli utenti stanno parlando
  4. Spazializza l'audio utilizzando il sistema audio di Unreal Engine, se necessario

Comandi Vocali con Riconoscimento Vocale

Puoi implementare il riconoscimento di comandi vocali per utenti remoti combinando questa funzionalità con il plugin Runtime Speech Recognizer:

  1. Cattura l'audio dai client Pixel Streaming utilizzando Pixel Streaming Capturable Sound Wave
  2. Invia l'audio catturato direttamente al Runtime Speech Recognizer
  3. Elabora il testo riconosciuto nella tua logica di gioco

Basta sostituire la standard Capturable Sound Wave con una Pixel Streaming Capturable Sound Wave (o Pixel Streaming 2 Capturable Sound Wave) negli esempi del Runtime Speech Recognizer, e funzionerà perfettamente con l'input audio di Pixel Streaming.

Registrazione dell'Audio dell'Utente Remoto

Puoi registrare l'audio dagli utenti remoti per una riproduzione successiva:

  1. Cattura l'audio utilizzando Pixel Streaming Capturable Sound Wave
  2. Esporta l'audio catturato in un file utilizzando Esporta Audio
  3. Salva il file per un uso o analisi successiva