Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Přesměrování multimédií přesměruje přehrávání videa a volání ve vzdálené relaci z Azure Virtual Desktopu, Windows 365 Cloud PC nebo Microsoft Dev Boxu do místního zařízení pro rychlejší zpracování a vykreslování.
Přesměrování hovorů optimalizuje zvuková volání pro volací aplikace založené na WebRTC, což snižuje latenci a zlepšuje kvalitu hovorů. Připojení probíhá mezi místním zařízením a serverem aplikace telefonie, kdy se volání WebRTC přesměrovávají ze vzdálené relace na místní zařízení. Po navázání připojení se kvalita volání stane závislá na webové stránce nebo poskytovatelích aplikací, stejně jako při nepřesměrovaných hovorech.
Přesměrování volání může fungovat s většinou volajících aplikací založených na WebRTC bez úprav. Můžou ale existovat nepodporované scénáře nebo můžete chtít ve vzdálené relaci poskytnout jiné prostředí.
Tento článek obsahuje informace o podporovaných rozhraních API a metodách instancí a ukazuje fragmenty kódu JavaScriptu, které můžete použít s mediaDevices
vlastností rozhraní Navigator.
Rozhraní navigátoru je součástí rozhraní MEDIA Capture and Streams API pro integraci vašeho webu s přesměrováním volání. Společně s rozhraním WebRTC API poskytují tato rozhraní API podporu streamování zvukových a obrazových dat pomocí aplikací pro volání založených na WebRTC. Přesměrování multimédií nahrazuje implementaci objektu mediaDevices
v rozhraních API pro detekci přesměrování volání, zpracování událostí odpojení a opětovného připojení a shromažďování diagnostických informací.
Tip
Pokud chcete otestovat integraci s přesměrováním multimédií, můžete povolit přesměrování volání, aby bylo dostupné pro všechny weby. Další informace najdete v tématu Povolení přesměrování volání pro všechny weby pro účely testování.
Podporovaná rozhraní API a metody instancí
Přesměrování volání je navržené tak, aby bez problémů nahradilo standardní využití WebRTC implementací, která přesměrovává volání ze vzdálené relace do místního zařízení.
Tady je seznam podporovaných rozhraní a metod instancí používaných přesměrováním volání z rozhraní Media Capture and Streams API a rozhraní WebRTC API:
AnalyserNode
AudioContext
HTMLAudioElement
MediaDevices
MediaStream
MediaStreamAudioDestinationNode
MediaStreamAudioSourceNode
MediaStreamTrack
RTCDataChannel
RTCPeerConnection
RTCRtpReceiver
RTCRtpSender
RTCRtpTransceiver
Známá omezení
Přesměrování volání má následující omezení rozhraní API:
V současné době je podporován pouze omezený počet
WebAudio
uzlů.setSinkId
HTMLAudioElement
u skladeb WebRTCsrcObject
funguje, ale jakékoli místní přehrávání, například vyzváněcí tón, se vždy přehrává ve výchozím zvukovém výstupu vzdálené relace.Vzhledem k tomu, že se některá rozhraní API vrací synchronně za normálních podmínek, ale při použití s přesměrováním volání musí být proxy servery, je možné, že stav objektu není k dispozici okamžitě.
Detekce přesměrování volání
Pokud chcete zjistit, jestli je přesměrování volání aktivní, můžete zkontrolovat isCallRedirectionEnabled
vlastnost objektu MediaDevices
. Pokud je true
tato vlastnost , přesměrování volání je aktivní. Pokud je undefined
tato vlastnost nebo false
, přesměrování volání není aktivní.
window.navigator.mediaDevices['isCallRedirectionEnabled'] = true;
Detekce odpojení od vzdálené relace
Když se uživatel při přesměrování volání na webové stránce odpojí a znovu se připojí ke vzdálené relaci, místní instance WebRTC, která objekty podporovala, už nebude dostupná. Pokud uživatel stránku aktualizuje, obvykle může znovu volat.
Webová stránka dokáže rozpoznat a zpracovat tyto události odpojení a opětovného připojení tím, že odstraní a znovu vytvoří všechny objekty WebRTC, zvukové prvky nebo video prvky a MediaStream
rozhraní MediaStreamTrack
. Tento přístup eliminuje nutnost aktualizovat webovou stránku.
Pokud chcete dostávat oznámení o těchto událostech, zaregistrujte rdpClientConnectionStateChanged
událost u objektu MediaDevices
, jak je znázorněno v následujícím příkladu. Tato událost obsahuje nový stav, který může být buď connected
nebo disconnected
.
navigator.mediaDevices.addEventListener('rdpClientConnectionStateChanged', () =>
console.log("state change: " + event.detail.state);
);
Diagnostika přesměrování volání
Následující příklad uvádí vlastnosti vystavené objektu MediaDevices
. Poskytují konkrétní diagnostické informace o používaných verzích přesměrování volání a identifikátorech relací. Tyto informace jsou užitečné při hlášení problémů společnosti Microsoft a doporučujeme je shromažďovat jako součást vlastních telemetrických nebo diagnostických dat.
window.navigator.mediaDevices['mmrClientVersion'];
window.navigator.mediaDevices['mmrHostVersion'];
window.navigator.mediaDevices['mmrExtensionVersion'];
window.navigator.mediaDevices['activityId'];
window.navigator.mediaDevices['connectionId'];
Jednotlivé vlastnosti představují toto:
mmrClientVersion: verze souboru
MsMmrDVCPlugin.dll
na místním počítači, která je součástí Windows App a aplikace Vzdálená plocha.mmrHostVersion: verze souboru
MsMMRHost.exe
nainstalovaného na hostiteli relace, cloudovém počítači nebo vývojáři.mmrExtensionVersion: verze rozšíření Microsoft Multimedia Redirection spuštěné v prohlížeči.
activityId: Jedinečný identifikátor, který Microsoft používá k přidružení telemetrie ke konkrétní relaci a mapuje na aktuální přesměrování multimédií na webové stránce, je přesměrování.
connectionId: jedinečný identifikátor, který Microsoft používá k přidružení telemetrie ke konkrétní relaci a který souvisí s daným připojením mezi místním zařízením a vzdálenou relací.
Všechny tyto informace jsou koncovému uživateli k dispozici v podrobnostech rozšíření prohlížeče, ale tento příklad nabízí programový způsob, jak je shromáždit.
Protokoly přesměrování volání
Ve výchozím nastavení se přesměrování multimédií do konzoly nepřihlašuje. Rozšíření prohlížeče má tlačítko pro uživatele, aby mohli shromažďovat protokoly. Následující příklad ukazuje, jak můžete povolit protokoly konzoly prostřednictvím kódu programu. Protokoly konzoly můžete chtít povolit programově, pokud pracujete na integraci nebo zaznamenáváte problém, který vyžaduje déle běžící protokoly, než nabízí možnost v rozhraní rozšíření prohlížeče.
window.navigator.mediaDevices['mmrConsoleLoggingEnabled'] = true;
Můžete také chtít programově shromažďovat protokoly přesměrování multimédií, které vám pomůžou při vyšetřování. Všechny protokoly pro webovou stránku jsou k dispozici také registrací události v mmrExtensionLog
dokumentu.
Objekt události má v podrobnostech dvě vlastnosti:
Úroveň: označuje, jaký druh trasování položka je, a umožňuje filtrovat konkrétní události. Úroveň je jedna z následujících hodnot:
- informace
- užvaněný
- varování
- chyba
Zpráva: textová trasovací zpráva.
Následující příklad ukazuje, jak se zaregistrovat k mmrExtensionLog
události:
document.addEventListener('mmrExtensionLog', () =>
console.log("MMR event, level:" + event.detail.level + " : " + event.detail.message);
);
Odeslání webu ke kontrole nebo žádosti o pomoc
Pokud zastupujete výrobce softwaru a chcete, aby byl váš web přidán do seznamu Webů pro přesměrování hovorů nebo potřebujete pomoc s integrací webu s přesměrováním hovorů, vyplňte a odešlete tento formulář.
Související obsah
Přečtěte si další informace o přesměrování multimédií pro přehrávání videa a volání ve vzdálené relaci.