Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Przekierowanie multimediów przekierowuje odtwarzanie wideo i wywołania w sesji zdalnej z usługi Azure Virtual Desktop, Komputer w chmurze Windows 365 lub Microsoft Dev Box do urządzenia lokalnego w celu szybszego przetwarzania i renderowania.
Przekierowanie wywołań optymalizuje wywołania audio dla aplikacji wywołujących opartych na protokole WebRTC, zmniejszając opóźnienia i poprawiając jakość połączeń. Połączenie odbywa się między urządzeniem lokalnym a serwerem aplikacji telefonii, gdzie wywołania WebRTC są odciążane z sesji zdalnej do urządzenia lokalnego. Po nawiązaniu połączenia jakość wywołań będzie zależeć od strony internetowej lub dostawców aplikacji, tak samo jak w przypadku wywołania bez przekierowania.
Przekierowanie wywołań może działać z większością aplikacji wywołujących opartych na protokole WebRTC bez modyfikacji. Jednak mogą istnieć nieobsługiwanych scenariuszy lub może być konieczne zapewnienie innego środowiska w sesji zdalnej.
Ten artykuł zawiera informacje o obsługiwanych interfejsach API i metodach wystąpień oraz zawiera fragmenty kodu Języka JavaScript, których można użyć z właściwościąmediaDevices interfejsu Nawigator.
Interfejs nawigatora jest częścią interfejsu API przechwytywania multimediów i strumieni w celu zintegrowania witryny internetowej z przekierowaniem wywołań. Wraz z interfejsem API WebRTC te interfejsy API zapewniają obsługę przesyłania strumieniowego danych audio i wideo za pomocą aplikacji wywołujących opartych na protokole WebRTC. Przekierowanie multimedialne zastępuje implementację mediaDevices obiektu w interfejsach API w celu wykrywania przekierowania wywołań, obsługi zdarzeń rozłączenia i ponownego łączenia oraz zbierania informacji diagnostycznych.
Porada
Jeśli chcesz przetestować integrację z przekierowaniem multimedialnym, możesz włączyć funkcję przekierowania połączeń, aby była dostępna dla wszystkich witryn internetowych. Aby uzyskać więcej informacji, zobacz Włączanie przekierowania wywołań dla wszystkich witryn do testowania.
Obsługiwane interfejsy API i metody wystąpień
Przekierowanie wywołań zostało zaprojektowane tak, aby bezproblemowo zastąpić standardowe użycie usługi WebRTC implementacją, która przekierowuje wywołania z sesji zdalnej na urządzenie lokalne.
Oto lista obsługiwanych interfejsów i metod wystąpień używanych przez przekierowanie wywołań z interfejsu API przechwytywania multimediów i strumieni orazinterfejsu API WebRTC:
AnalyserNodeAudioContextHTMLAudioElementMediaDevicesMediaStreamMediaStreamAudioDestinationNodeMediaStreamAudioSourceNodeMediaStreamTrackRTCDataChannelRTCPeerConnectionRTCRtpReceiverRTCRtpSenderRTCRtpTransceiver
Znane ograniczenia
Przekierowanie wywołań ma następujące ograniczenia interfejsu API:
Obecnie obsługiwana jest tylko ograniczona
WebAudioliczba węzłów.setSinkIdw programieHTMLAudioElementdziała dla ścieżek WebRTCsrcObject, jednak wszelkie lokalne odtwarzanie, takie jak dzwonek, zawsze odtwarza domyślne dane wyjściowe audio sesji zdalnej.Ponieważ niektóre interfejsy API zwracają się synchronicznie w normalnych warunkach, ale muszą być serwerami proxy w przypadku użycia z przekierowaniem wywołań, możliwe, że stan obiektu nie jest natychmiast dostępny.
Wykrywanie przekierowania wywołań
Aby wykryć, czy przekierowanie wywołania jest aktywne, można sprawdzić isCallRedirectionEnabled właściwość obiektu MediaDevices . Jeśli ta właściwość to true, przekierowanie wywołania jest aktywne. Jeśli ta właściwość to undefined lub false, przekierowanie wywołań nie jest aktywne.
window.navigator.mediaDevices['isCallRedirectionEnabled'] = true;
Wykrywanie rozłączenia z sesji zdalnej
Gdy użytkownik rozłączy się i ponownie nawiąże połączenie z sesją zdalną podczas korzystania z przekierowania wywołań na stronie internetowej, lokalne wystąpienie WebRTC, które obsługiwało obiekty, nie jest już dostępne. Zazwyczaj jeśli użytkownik odświeży stronę, będzie mógł ponownie wykonywać wywołania.
Strona internetowa może wykrywać i obsługiwać te zdarzenia rozłączania i ponownego łączenia, usuwając i odtwarzając wszystkie obiekty WebRTC, elementy audio lub wideo oraz MediaStream interfejsy.MediaStreamTrack Takie podejście eliminuje konieczność odświeżania strony internetowej.
Aby otrzymywać powiadomienia o tych zdarzeniach, zarejestruj rdpClientConnectionStateChanged zdarzenie w obiekcie MediaDevices , jak pokazano w poniższym przykładzie. To zdarzenie zawiera nowy stan, który może mieć wartość connected lub disconnected.
navigator.mediaDevices.addEventListener('rdpClientConnectionStateChanged', () =>
console.log("state change: " + event.detail.state);
);
Diagnostyka przekierowania wywołań
W poniższym przykładzie wymieniono właściwości uwidocznione w obiekcie MediaDevices . Udostępniają określone informacje diagnostyczne dotyczące używanych wersji przekierowywania wywołań i identyfikatorów sesji. Te informacje są przydatne podczas zgłaszania problemów firmie Microsoft i zalecamy zebranie ich w ramach własnych danych telemetrycznych lub diagnostycznych.
window.navigator.mediaDevices['mmrClientVersion'];
window.navigator.mediaDevices['mmrHostVersion'];
window.navigator.mediaDevices['mmrExtensionVersion'];
window.navigator.mediaDevices['activityId'];
window.navigator.mediaDevices['connectionId'];
Oto, co reprezentuje każda właściwość:
mmrClientVersion: wersja pliku
MsMmrDVCPlugin.dllna komputerze lokalnym, która jest częścią Windows App i aplikacji pulpitu zdalnego.mmrHostVersion: wersja pliku
MsMMRHost.exezainstalowanego na hoście sesji, komputerze w chmurze lub polu deweloperskim.mmrExtensionVersion: wersja rozszerzenia Przekierowanie multimediów firmy Microsoft uruchomionego w przeglądarce.
activityId: unikatowy identyfikator używany przez firmę Microsoft do kojarzenia danych telemetrycznych z określoną sesją i mapowania do bieżącego przekierowania multimedialnego strony internetowej jest przekierowujący.
connectionId: unikatowy identyfikator używany przez firmę Microsoft do kojarzenia danych telemetrycznych z określoną sesją i odnosi się do danego połączenia między urządzeniem lokalnym a sesją zdalną.
Wszystkie te informacje są dostępne dla użytkownika końcowego w szczegółach rozszerzenia przeglądarki, ale ten przykład zapewnia programowy sposób ich zbierania.
Dzienniki przekierowania wywołań
Domyślnie przekierowanie multimediów nie powoduje zalogowania się do konsoli programu . Rozszerzenie przeglądarki ma przycisk dla użytkowników do zbierania dzienników. W poniższym przykładzie pokazano, jak można programowo włączyć dzienniki konsoli. Możesz włączyć dzienniki konsoli programowo, jeśli pracujesz nad integracją lub przechwytujesz problem, który wymaga dłuższych dzienników niż opcja dostępna w interfejsie rozszerzenia przeglądarki.
window.navigator.mediaDevices['mmrConsoleLoggingEnabled'] = true;
Możesz również programowo zbierać dzienniki przekierowania multimedialnego, aby ułatwić badanie. Wszystkie dzienniki dla strony internetowej są również dostępne, rejestrując się na mmrExtensionLog potrzeby zdarzenia w dokumencie.
Obiekt zdarzenia ma dwie właściwości poniżej szczegółów:
Poziom: określa rodzaj śledzenia wpisu i umożliwia filtrowanie pod kątem określonych zdarzeń. Poziom jest jedną z następujących wartości:
- Informacji
- gadatliwy
- ostrzeżenie
- błąd
Wiadomość: wiadomość śledzenia oparta na tekście.
W poniższym przykładzie pokazano, jak zarejestrować się na potrzeby mmrExtensionLog zdarzenia:
document.addEventListener('mmrExtensionLog', () =>
console.log("MMR event, level:" + event.detail.level + " : " + event.detail.message);
);
Prześlij swoją witrynę internetową do przeglądu lub poproś o pomoc
Jeśli reprezentujesz niezależnego dostawcy oprogramowania i chcesz, aby twoja witryna internetowa została dodana do listy Witryn internetowych na potrzeby przekierowania połączeń lub jeśli potrzebujesz pomocy w integracji witryny internetowej z przekierowaniem połączeń, wypełnij i prześlij ten formularz.
Zawartość pokrewna
Dowiedz się więcej na temat przekierowania multimediów do odtwarzania wideo i wywołań w sesji zdalnej.