Przejdź do głównej zawartości

Przechwytywanie dźwięku w Pixel Streaming

Pixel Streaming to wtyczka do Unreal Engine, która przesyła strumieniowo renderowane klatki i synchronizuje wejście/wyjście za pośrednictwem WebRTC. Aplikacja działa po stronie serwera, podczas gdy strona klienta obsługuje renderowanie i interakcję użytkownika. Aby uzyskać więcej szczegółów na temat Pixel Streaming i konfiguracji, zapoznaj się z Dokumentacją Pixel Streaming.

Pixel Streaming vs Pixel Streaming 2

Ta wtyczka obsługuje obie wersje Pixel Streaming dostępne w Unreal Engine:

  • Pixel Streaming - Oryginalna wtyczka, dostępna od UE 5.2 i nadal aktywnie używana w obecnych wersjach silnika
  • Pixel Streaming 2 - Wprowadzona w UE 5.5 jako implementacja nowej generacji z ulepszoną architekturą wewnętrzną. Dowiedz się więcej o Pixel Streaming 2

Obie wersje są w pełni obsługiwane i dostępne w najnowszych wydaniach Unreal Engine. Wybierz wersję odpowiadającą konfiguracji Pixel Streaming w twoim projekcie.

informacja

API dla obu wersji jest identyczne, jedyną różnicą jest to, że klasy i funkcje Pixel Streaming 2 zawierają "2" w swoich nazwach (np. UPixelStreamingCapturableSoundWave vs UPixelStreaming2CapturableSoundWave).

Kompatybilność

To rozwiązanie działa z:

Implementacja została przetestowana w tych środowiskach i działa poprawnie niezależnie od używanego rozwiązania hostingu Pixel Streaming.

Instalacja wtyczki rozszerzenia

Ta funkcja jest dostarczana jako rozszerzenie wtyczki Runtime Audio Importer. Aby z niej korzystać, musisz:

  1. Upewnić się, że wtyczka Runtime Audio Importer jest już zainstalowana w twoim projekcie
  2. Pobrać wtyczkę rozszerzenia dla twojej wersji Pixel Streaming:
  3. Wypakować folder z pobranego archiwum do folderu Plugins twojego projektu (utwórz ten folder, jeśli nie istnieje)
  4. Przebudować projekt (to rozszerzenie wymaga projektu C++)
important
  • Te rozszerzenia są dostarczane jako kod źródłowy i wymagają projektu C++ do użycia
  • Rozszerzenie Pixel Streaming: Obsługiwane w UE 5.2 i nowszych
  • Rozszerzenie Pixel Streaming 2: Obsługiwane w UE 5.5 i nowszych
  • Aby uzyskać więcej informacji na temat ręcznego budowania wtyczek, zobacz Samouczek budowania wtyczek

Przegląd

Pixel Streaming Capturable Sound Wave rozszerza standardową Capturable Sound Wave, umożliwiając przechwytywanie dźwięku bezpośrednio z mikrofonów klientów Pixel Streaming. Ta funkcja pozwala na:

  • Przechwytywanie dźwięku z przeglądarek połączonych przez Pixel Streaming
  • Przetwarzanie dźwięku od określonych graczy/peerów
  • Implementację czatu głosowego, poleceń głosowych lub nagrywania dźwięku od zdalnych użytkowników

Podstawowe użycie

Tworzenie Pixel Streaming Capturable Sound Wave

Najpierw musisz utworzyć obiekt Pixel Streaming Capturable Sound Wave:

Węzeł Create Pixel Streaming Capturable Sound Wave

ostrzeżenie

Należy traktować Pixel Streaming Capturable Sound Wave jako silną referencję, aby zapobiec przedwczesnemu zniszczeniu (np. przypisując ją do osobnej zmiennej w Blueprints lub używając UPROPERTY() w C++).

Rozpoczynanie i Zatrzymywanie Przechwytywania

Możesz rozpocząć i zatrzymać przechwytywanie dźwięku za pomocą prostych wywołań funkcji:

Węzły Rozpocznij i Zatrzymaj Przechwytywanie

notatka

Parametr DeviceId w StartCapture jest ignorowany dla Pixel Streaming Capturable Sound Waves, ponieważ źródło przechwytywania jest określane automatycznie lub przez ustawione informacje o graczu.

Sprawdzanie Statusu Przechwytywania

Możesz sprawdzić, czy fala dźwiękowa aktualnie przechwytuje audio:

Węzeł Is Capturing

Kompletny Przykład

Oto kompletny przykład konfiguracji przechwytywania audio w Pixel Streaming:

Kompletny Przykład Przechwytywania Pixel Streaming

Praca z wieloma odtwarzaczami Pixel Streaming

W scenariuszach, w których jednocześnie podłączonych jest wielu klientów Pixel Streaming, może być konieczne przechwytywanie dźwięku z określonych odtwarzaczy. Poniższe funkcje pomagają w zarządzaniu tym.

Pobieranie dostępnych odtwarzaczy Pixel Streaming

Aby zidentyfikować, które odtwarzacze Pixel Streaming są podłączone:

Węzeł Pobierz dostępne odtwarzacze Pixel Streaming

Ustawianie Gracza do Przechwytywania

Gdy musisz przechwytywać od konkretnego gracza:

Węzeł Ustaw Gracza do Przechwytywania

informacja

Jeśli pozostawisz ID Gracza puste, fala dźwiękowa automatycznie będzie nasłuchiwać pierwszego dostępnego gracza, który się połączy. Jest to domyślne zachowanie, które dobrze sprawdza się w scenariuszach dla jednego gracza.

Typowe przypadki użycia

Implementacja czatu głosowego

Możesz użyć Pixel Streaming Capturable Sound Waves do zaimplementowania czatu głosowego między zdalnymi użytkownikami a lokalnymi graczami:

  1. Utwórz Pixel Streaming Capturable Sound Wave dla każdego połączonego gracza
  2. Skonfiguruj system do zarządzania tym, którzy gracze aktualnie mówią
  3. Użyj systemu Wykrywania aktywności głosowej, aby wykryć, kiedy użytkownicy mówią
  4. Przestrzenny dźwięk za pomocą systemu audio Unreal Engine, jeśli jest to potrzebne

Komendy głosowe z rozpoznawaniem mowy

Możesz zaimplementować rozpoznawanie komend głosowych dla zdalnych użytkowników, łącząc tę funkcję z wtyczką Runtime Speech Recognizer:

  1. Przechwyć audio od klientów Pixel Streaming za pomocą Pixel Streaming Capturable Sound Wave
  2. Przekaż przechwycone audio bezpośrednio do Runtime Speech Recognizer
  3. Przetwórz rozpoznany tekst w logice swojej gry

Po prostu zastąp standardowe Capturable Sound Wave w przykładach Runtime Speech Recognizer przez Pixel Streaming Capturable Sound Wave (lub Pixel Streaming 2 Capturable Sound Wave), a będzie to działać bezproblemowo z wejściem audio Pixel Streaming.

Nagrywanie audio zdalnych użytkowników

Możesz nagrywać audio od zdalnych użytkowników do późniejszego odtworzenia:

  1. Przechwyć audio za pomocą Pixel Streaming Capturable Sound Wave
  2. Eksportuj przechwycone audio do pliku za pomocą Eksportuj Audio
  3. Zapisz plik do późniejszego użycia lub analizy