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.

Zgodność

To rozwiązanie działa z:

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

Instalacja wtyczki rozszerzenia

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

  1. Upewnij się, że wtyczka Runtime Audio Importer jest już zainstalowana w twoim projekcie
  2. Pobierz rozszerzenie wtyczki Pixel Streaming Audio Capture z Dysku Google
  3. Wypakuj folder z pobranego archiwum do folderu Plugins twojego projektu (utwórz ten folder, jeśli nie istnieje)
  4. Przebuduj swój projekt (to rozszerzenie wymaga projektu C++)
important
  • To rozszerzenie jest dostarczane jako kod źródłowy i wymaga projektu C++ do użycia
  • Obsługiwane wersje Unreal Engine: UE 5.2 i nowsze
  • Aby uzyskać więcej informacji na temat ręcznego budowania wtyczek, zobacz samouczek Budowanie 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 konkretnych 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ł tworzenia Pixel Streaming Capturable Sound Wave

warning

Powinieneś 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 Start and Stop Capture

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 dźwięku Pixel Streaming:

Complete Pixel Streaming Capture Example

Praca z wieloma odtwarzaczami Pixel Streaming

W scenariuszach, w których masz wielu klientów Pixel Streaming połączonych jednocześnie, możesz potrzebować przechwytywać dźwięk z określonych odtwarzaczy. Poniższe funkcje pomagają w zarządzaniu tym.

Uzyskiwanie dostępnych odtwarzaczy Pixel Streaming

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

Węzeł Get Available Pixel Streaming Players

Ustawianie Gracza do Przechwytywania

Kiedy potrzebujesz przechwytywać od konkretnego gracza:

Węzeł Set Player To Capture From

informacja

Jeśli pozostawisz identyfikator gracza pusty, 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 podłączonego gracza
  2. Skonfiguruj system do zarządzania tym, którzy gracze aktualnie mówią
  3. Użyj systemu Voice Activity Detection do wykrywania, kiedy użytkownicy mówią
  4. Przestrzennie zlokalizuj dźwięk, używając 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. Przechwytuj dźwięk od klientów Pixel Streaming, używając Pixel Streaming Capturable Sound Wave
  2. Przekazuj przechwycony dźwięk bezpośrednio do Runtime Speech Recognizer
  3. Przetwarzaj rozpoznany tekst w logice swojej gry

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

Nagrywanie dźwięku zdalnego użytkownika

Możesz nagrywać dźwięk od zdalnych użytkowników do późniejszego odtworzenia:

  1. Przechwytuj dźwięk, używając Pixel Streaming Capturable Sound Wave
  2. Eksportuj przechwycony dźwięk do pliku, używając Export Audio
  3. Zapisz plik do późniejszego użycia lub analizy