Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die Multimediaumleitung leitet die Videowiedergabe und Anrufe in einer Remotesitzung von Azure Virtual Desktop, einem Windows 365 Cloud-PC oder Microsoft Dev Box an Ihr lokales Gerät um, um die Verarbeitung und das Rendering zu beschleunigen.
Die Anrufumleitung optimiert Audioanrufe für WebRTC-basierte Anruf-Apps, reduziert die Latenz und verbessert die Anrufqualität. Die Verbindung erfolgt zwischen dem lokalen Gerät und dem Telefonie-App-Server, bei dem WebRTC-Anrufe von einer Remotesitzung auf ein lokales Gerät ausgelagert werden. Nachdem die Verbindung hergestellt wurde, hängt die Anrufqualität von der Webseite oder den App-Anbietern ab, genau wie bei einem nicht umgeleiteten Aufruf.
Die Anrufumleitung kann mit den meisten WebRTC-basierten Anruf-Apps ohne Änderungen funktionieren. Es gibt jedoch möglicherweise nicht unterstützte Szenarien, oder Sie möchten eine andere Benutzeroberfläche in einer Remotesitzung bereitstellen.
Dieser Artikel enthält Informationen zu unterstützten API-Schnittstellen und instance Methoden und zeigt JavaScript-Codeausschnitte, die Sie mit der mediaDevices -Eigenschaft der Navigator-Schnittstelle verwenden können.
Die Navigator-Schnittstelle ist Teil der Media Capture and Streams-API , um Ihre Website in die Aufrufumleitung zu integrieren. Zusammen mit der WebRTC-API bieten diese APIs Unterstützung für das Streaming von Audio- und Videodaten mit WebRTC-basierten Aufrufen von Apps. Die Multimediaumleitung ersetzt die Implementierung des mediaDevices -Objekts in den APIs, um Aufrufumleitungen zu erkennen, Trennungs- und Verbindungswiedenereignisse zu behandeln und Diagnoseinformationen zu sammeln.
Tipp
Wenn Sie Ihre Integration mit multimedialer Umleitung testen möchten, können Sie die Anrufumleitung aktivieren, um für alle Websites verfügbar zu sein. Weitere Informationen finden Sie unter Aktivieren der Aufrufumleitung für alle Websites zum Testen.
Unterstützte API-Schnittstellen und instance Methoden
Die Anrufumleitung ist so konzipiert, dass die Standardmäßige WebRTC-Verwendung nahtlos durch eine Implementierung ersetzt wird, die Aufrufe von einer Remotesitzung an das lokale Gerät umleitet.
Im Folgenden finden Sie eine Liste der unterstützten Schnittstellen und instance Methoden, die von der Aufrufumleitung von der Media Capture and Streams-API undder WebRTC-API verwendet werden:
AnalyserNodeAudioContextHTMLAudioElementMediaDevicesMediaStreamMediaStreamAudioDestinationNodeMediaStreamAudioSourceNodeMediaStreamTrackRTCDataChannelRTCPeerConnectionRTCRtpReceiverRTCRtpSenderRTCRtpTransceiver
Bekannte Einschränkungen
Für die Aufrufumleitung gelten die folgenden API-Einschränkungen:
Derzeit wird nur eine begrenzte Anzahl von
WebAudioKnoten unterstützt.setSinkIdHTMLAudioElementfunktioniert für WebRTC-TitelsrcObject, aber jede lokale Wiedergabe, z. B. ein Klingelton, wird immer auf der Standardaudioausgabe der Remotesitzung wiedergegeben.Da einige APIs unter normalen Bedingungen synchron zurückgeben, aber proxys sein müssen, wenn sie mit der Aufrufumleitung verwendet werden, ist es möglich, dass der Zustand eines Objekts nicht sofort verfügbar ist.
Erkennen der Anrufumleitung
Um zu ermitteln, ob die Aufrufumleitung aktiv ist, können Sie die isCallRedirectionEnabled -Eigenschaft des MediaDevices -Objekts überprüfen. Wenn diese Eigenschaft ist true, ist die Aufrufumleitung aktiv. Wenn diese Eigenschaft oder falseistundefined, ist die Aufrufumleitung nicht aktiv.
window.navigator.mediaDevices['isCallRedirectionEnabled'] = true;
Erkennen der Trennung von einer Remotesitzung
Wenn ein Benutzer die Verbindung mit einer Remotesitzung trennt und erneut eine Verbindung mit einer Remotesitzung herstellt, wenn die Anrufumleitung auf einer Webseite verwendet wird, ist die lokale WebRTC-instance, die die Objekte unterstützt hat, nicht mehr verfügbar. Wenn ein Benutzer die Seite aktualisiert, kann er in der Regel erneut Anrufe tätigen.
Die Webseite kann diese Ereignisse zum Trennen und Wiederherstellen der Verbindung erkennen und behandeln, indem alle WebRTC-Objekte, Audio- oder Videoelemente und oder MediaStreamTrack -Schnittstellen heruntergefahren und MediaStream neu erstellt werden. Durch diesen Ansatz entfällt die Notwendigkeit, die Webseite zu aktualisieren.
Um über diese Ereignisse benachrichtigt zu werden, registrieren Sie das rdpClientConnectionStateChanged -Ereignis für das MediaDevices -Objekt, wie im folgenden Beispiel gezeigt. Dieses Ereignis enthält den neuen Zustand, der entweder connected oder disconnectedsein kann.
navigator.mediaDevices.addEventListener('rdpClientConnectionStateChanged', () =>
console.log("state change: " + event.detail.state);
);
Anrufumleitungs-Diagnose
Im folgenden Beispiel werden die Eigenschaften aufgelistet, die für das MediaDevices -Objekt verfügbar gemacht werden. Sie stellen spezifische Diagnoseinformationen zu den verwendeten Versionen der Anrufumleitung und Sitzungsbezeichner bereit. Diese Informationen sind nützlich, wenn Sie Probleme an Microsoft melden, und es wird empfohlen, sie als Teil Ihrer eigenen Telemetriedaten oder Diagnose Daten zu sammeln.
window.navigator.mediaDevices['mmrClientVersion'];
window.navigator.mediaDevices['mmrHostVersion'];
window.navigator.mediaDevices['mmrExtensionVersion'];
window.navigator.mediaDevices['activityId'];
window.navigator.mediaDevices['connectionId'];
Die einzelnen Eigenschaften stellen folgendes dar:
mmrClientVersion: Die Version der Datei
MsMmrDVCPlugin.dllauf dem lokalen Computer, die teil von Windows App und der Remotedesktop-App ist.mmrHostVersion: Die Version der Datei
MsMMRHost.exe, die auf dem Sitzungshost, Cloud-PC oder der Dev-Box installiert ist.mmrExtensionVersion: Die Version der Microsoft Multimedia Redirection-Erweiterung, die im Browser ausgeführt wird.
activityId: Ein eindeutiger Bezeichner, der von Microsoft verwendet wird, um Telemetriedaten einer bestimmten Sitzung zuzuordnen und der aktuellen Multimediaumleitung der Webseite zuzuordnen.
connectionId: Ein eindeutiger Bezeichner, der von Microsoft verwendet wird, um Telemetriedaten einer bestimmten Sitzung zuzuordnen, und bezieht sich auf die angegebene Verbindung zwischen dem lokalen Gerät und der Remotesitzung.
Alle diese Informationen stehen dem Endbenutzer in den Details der Browsererweiterung zur Verfügung, aber dieses Beispiel bietet eine programmgesteuerte Möglichkeit, sie zu sammeln.
Anrufumleitungsprotokolle
Standardmäßig wird die Multimediaumleitung nicht in der Konsole protokolliert. Die Browsererweiterung verfügt über eine Schaltfläche zu , damit Benutzer Protokolle sammeln können. Das folgende Beispiel zeigt, wie Sie Konsolenprotokolle programmgesteuert aktivieren können. Möglicherweise möchten Sie Konsolenprotokolle programmgesteuert aktivieren, wenn Sie an der Integration arbeiten oder ein Problem erfassen, das länger ausgeführte Protokolle erfordert, als die Option in der Browsererweiterungsschnittstelle bietet.
window.navigator.mediaDevices['mmrConsoleLoggingEnabled'] = true;
Sie können auch multimediale Umleitungsprotokolle programmgesteuert sammeln, um Untersuchungen zu unterstützen. Alle Protokolle für die Webseite sind auch verfügbar, indem Sie sich für das mmrExtensionLog Ereignis im Dokument registrieren.
Das Ereignisobjekt weist im Detail zwei Eigenschaften auf:
Ebene: Gibt an, welche Art von Ablaufverfolgung der Eintrag ist, und ermöglicht es Ihnen, nach bestimmten Ereignissen zu filtern. Level ist einer der folgenden Werte:
- info
- wortreich
- warning
- error
Meldung: die textbasierte Ablaufverfolgungsmeldung.
Das folgende Beispiel zeigt, wie Sie sich für das mmrExtensionLog Ereignis registrieren:
document.addEventListener('mmrExtensionLog', () =>
console.log("MMR event, level:" + event.detail.level + " : " + event.detail.message);
);
Übermitteln Ihrer Website zur Überprüfung oder Anfordern von Unterstützung
Wenn Sie einen ISV vertreten und möchten, dass Ihre Website der Liste der Websites zur Anrufumleitung hinzugefügt wird, oder wenn Sie Unterstützung bei der Integration Ihrer Website mit Anrufumleitung benötigen, füllen Sie dieses Formular aus, und übermitteln Sie es.
Verwandte Inhalte
Erfahren Sie mehr über die Multimediaumleitung für die Videowiedergabe und Anrufe in einer Remotesitzung.