Aller au contenu principal

Pixel Streaming Audio Capture

Pixel Streaming est un plugin pour Unreal Engine qui diffuse des images rendues et synchronise les entrées/sorties via WebRTC. L'application s'exécute côté serveur, tandis que le côté client gère le rendu et l'interaction utilisateur. Pour plus de détails sur Pixel Streaming et la configuration, consultez la Documentation Pixel Streaming.

Compatibilité

Cette solution fonctionne avec :

L'implémentation a été testée dans ces environnements et fonctionne correctement quel que soit la solution d'hébergement Pixel Streaming utilisée.

Installation du Plugin d'Extension

Cette fonctionnalité est fournie comme une extension au plugin Runtime Audio Importer. Pour l'utiliser, vous devez :

  1. Vous assurer que le plugin Runtime Audio Importer est déjà installé dans votre projet
  2. Télécharger l'extension du plugin Pixel Streaming Audio Capture depuis Google Drive
  3. Extraire le dossier de l'archive téléchargée dans le dossier Plugins de votre projet (créez ce dossier s'il n'existe pas)
  4. Reconstruire votre projet (cette extension nécessite un projet C++)
important
  • Cette extension est fournie en tant que code source et nécessite un projet C++ pour être utilisée
  • Versions d'Unreal Engine supportées : UE 5.2 et versions ultérieures
  • Pour plus d'informations sur la façon de compiler les plugins manuellement, voir le tutoriel de construction de plugins

Aperçu

Le Pixel Streaming Capturable Sound Wave étend le standard Capturable Sound Wave pour permettre la capture audio directement depuis les microphones des clients Pixel Streaming. Cette fonctionnalité vous permet de :

  • Capturer l'audio des navigateurs connectés via Pixel Streaming
  • Traiter l'audio de joueurs/peers spécifiques
  • Mettre en œuvre le chat vocal, les commandes vocales, ou l'enregistrement audio des utilisateurs distants

Utilisation de Base

Création d'un Pixel Streaming Capturable Sound Wave

Tout d'abord, vous devez créer un objet Pixel Streaming Capturable Sound Wave :

Create Pixel Streaming Capturable Sound Wave node

attention

Vous devriez traiter le Pixel Streaming Capturable Sound Wave comme une référence forte pour éviter une destruction prématurée (par exemple, en l'assignant à une variable distincte dans Blueprints ou en utilisant UPROPERTY() en C++).

Lancement et Arrêt de la Capture

Vous pouvez démarrer et arrêter la capture audio avec des appels de fonction simples :

Nœuds de Démarrage et Arrêt de Capture

remarque

Le paramètre DeviceId dans StartCapture est ignoré pour Pixel Streaming Capturable Sound Waves, car la source de capture est déterminée automatiquement ou par les informations du joueur que vous avez définies.

Vérification du statut de capture

Vous pouvez vérifier si l'onde sonore capture actuellement l'audio :

Nœud de capture en cours

Exemple Complet

Voici un exemple complet de configuration de la capture audio Pixel Streaming :

Exemple Complet de Capture Pixel Streaming

Travailler avec plusieurs lecteurs de Pixel Streaming

Dans des scénarios où vous avez plusieurs clients de Pixel Streaming connectés simultanément, vous pouvez avoir besoin de capturer l'audio de joueurs spécifiques. Les fonctionnalités suivantes vous aident à gérer cela.

Obtenir les joueurs de Pixel Streaming disponibles

Pour identifier quels joueurs de Pixel Streaming sont connectés :

Noeud Obtenir les joueurs de Pixel Streaming disponibles

Définir le Joueur à Capturer

Quand vous devez capturer depuis un joueur spécifique :

Set Player To Capture From node

info

Si vous laissez l'ID du joueur vide, l'onde sonore écoutera automatiquement le premier joueur disponible qui se connecte. C'est le comportement par défaut et fonctionne bien pour les scénarios solo.

Cas d'utilisation courants

Implémentation de chat vocal

Vous pouvez utiliser Pixel Streaming Capturable Sound Waves pour implémenter le chat vocal entre les utilisateurs distants et les joueurs locaux :

  1. Créez un Pixel Streaming Capturable Sound Wave pour chaque joueur connecté
  2. Mettez en place un système pour gérer quels joueurs parlent actuellement
  3. Utilisez le système Voice Activity Detection pour détecter quand les utilisateurs parlent
  4. Spatialisez l'audio en utilisant le système audio d'Unreal Engine si nécessaire

Commandes vocales avec reconnaissance vocale

Vous pouvez implémenter la reconnaissance de commandes vocales pour les utilisateurs distants en combinant cette fonctionnalité avec le plugin Runtime Speech Recognizer :

  1. Capturez l'audio des clients Pixel Streaming en utilisant Pixel Streaming Capturable Sound Wave
  2. Alimentez directement l'audio capturé au Runtime Speech Recognizer
  3. Traitez le texte reconnu dans votre logique de jeu

Remplacez simplement le Capturable Sound Wave standard par un Pixel Streaming Capturable Sound Wave dans les exemples du Runtime Speech Recognizer, et cela fonctionnera parfaitement avec l'entrée audio Pixel Streaming.

Enregistrement de l’audio des utilisateurs distants

Vous pouvez enregistrer l'audio des utilisateurs distants pour une lecture ultérieure :

  1. Capturez l'audio en utilisant Pixel Streaming Capturable Sound Wave
  2. Exportez l'audio capturé vers un fichier en utilisant Export Audio
  3. Enregistrez le fichier pour une utilisation ou une analyse ultérieure