Freigeben über


Architektur der Xbox Media-Anwendung

Alle Xbox-Apps werden mit dem Universelle Windows-Plattform verpackt, dies bedeutet jedoch nicht, dass alle Xbox-Anwendungen in XAML und C# geschrieben werden müssen. In diesem Abschnitt werden mehrere allgemeine Architekturentscheidungen erläutert, die Sie treffen müssen, bevor Sie mit dem Schreiben Ihrer Xbox-Anwendung beginnen können.

Allgemeine Anleitungen zum Entwickeln von UWP-Anwendungen für Xbox finden Sie in dieser Dokumentation:

UWP auf Xbox One – UWP-Anwendungen

App-Entwicklungsmodelle

Im Allgemeinen gibt es zwei empfohlene Muster zum Schreiben einer Medien-App für Xbox:

  1. Verwenden einer in einer WebView gehosteten Website – Sie schreiben eine dünne C#-Anwendung, die eine Website in einem Vollbild-WebView lädt. Die meisten Ui Ihrer App werden in Webtechnologien wie JavaScript und HTML geschrieben, die auf einem von Ihnen verwalteten Server gehostet werden. (Bitte beachten Sie, dass WebView2 auf Xbox noch nicht unterstützt wird.) Sie können diese Option auswählen, wenn: Sie arbeiten mit Webtechnologien am bequemsten, oder Sie möchten schnell Änderungen auf der Benutzeroberfläche bereitstellen, ohne den App Store-Veröffentlichungsprozess zu durchlaufen.

  2. Verwenden der systemeigenen UWP-API – Ihre App ist in XAML und C#, C++/Cx oder C++/WinRT integriert und verwendet MediaElement und die MediaPlayer-API zum Wiedergeben von Inhalten. Sie können diese Option auswählen, wenn Sie mit C# am bequemsten arbeiten oder eine bessere Leistung wünschen, als Sie mit Webtechnologien allein erreichen können.

Benutzermodell

Anwendungen auf Xbox können unter einem von zwei verschiedenen Benutzermodellen ausgeführt werden: Single User Application (SUA) oder Multi-User Application (MUA). SUAs werden im Kontext eines einzelnen Xbox-Benutzers ausgeführt, wobei App-Daten auf Benutzerbasis gespeichert werden. Wenn sich das Benutzerkonto auf der Xbox ändert, werden SUAs neu gestartet und im Kontext des neuen Benutzers ausgeführt.

MUAs werden im Kontext eines generischen Benutzerkontos ausgeführt und nicht neu gestartet, wenn sich das aktuelle Benutzerkonto ändert. Die App-Daten werden für alle Benutzer freigegeben, die sich beim System anmelden.

Weitere Informationen finden Sie in der Dokumentation: Einführung in Mehrbenutzeranwendungen – UWP-Anwendungen

Zusätzliche Funktionen

Dieser Abschnitt enthält Details zu mehreren zusätzlichen Features, die Sie möglicherweise in Ihrer Xbox-Medienanwendung verwenden möchten.

Hintergrundaudio

Ihre App kann sich registrieren, um Audio im Hintergrund wiederzugeben, während andere Apps oder Spiele auf der Xbox ausgeführt werden.

Die Dokumentation zum Aktivieren der Ausführung Ihrer App im Hintergrund finden Sie hier: Wiedergeben von Medien im Hintergrund – UWP-Anwendungen

Sie möchten auch in die Steuerelemente für den Systemmedientransport integriert werden, mit denen der Benutzer die Wiedergabe im Xbox Guide bearbeiten kann, ohne die App erneut starten zu müssen:

Integration in die Steuerelemente für den Systemmedientransport – UWP-Anwendungen

WebView-Audiowiedergabe

Wenn Sie Ihre Anwendung in einer WebView hosten, haben Sie zwei Optionen, wenn es darum geht, wo Sie die Hintergrundaudio wiedergeben:

  1. Sie können es mit einem HTML-Audioelement innerhalb der WebView selbst wiedergeben.
  2. Sie können WebView.AddWebAllowedObject verwenden, um ihrem JavaScript-Code den Aufruf in C# zu ermöglichen und die Wiedergabe mit der C#-MediaPlayer-API zu erledigen.

Ansatz #2 wird dringend empfohlen, da es Ihrer App ermöglicht, den vom WebView verwendeten Arbeitsspeicher zu löschen, wenn er in den Hintergrund wechselt. Dies ist viel einfacher als der Versuch, die Speicherauslastung im Hintergrund zu steuern, ohne webView zu löschen.

Hellen und dunklen Modus

Benutzer können im Menü "Xbox-Einstellungen" eine Einstellung für helle und dunkle Designs auswählen. Ihre App kann die Einstellung des Benutzers überprüfen und die App entsprechend rendern. Weitere Informationen finden Sie in dieser Dokumentation:

Application.RequestedTheme Property (Windows.UI.Xaml) – Windows UWP-Anwendungen

DIAL-Protokollunterstützung (Google Assistant usw.)

Mit dem DIAL-Protokoll können sekundäre Geräte (z. B. Tablets und Smartphones) Inhalte auf Ihrer Xbox starten und automatisch mit ihr gekoppelt werden. Weitere Details finden Sie in dieser Dokumentation: Windows.Media.DialProtocol Namespace – Windows UWP-Anwendungen

Medien-Remote

Wenn Sie beabsichtigen, die Remotefunktionen von Medien zu unterstützen und die Steuerelemente auf der Medien-Fernbedienung zum Steuern der Medienwiedergabe zu verwenden, müssen Sie SMTC in Ihren Code integrieren. Weitere Informationen finden Sie in dieser Dokumentation.

SystemMediaTransportControls-Klasse (Windows.Media) – Windows UWP-Anwendungen | Microsoft-Dokumentation

Bewertungen anfordern

Es gibt eine API, die Sie aufrufen können, um Benutzer anzufordern, Ihre Anwendung zu bewerten. Dies kann dazu beitragen, Ihre Bewertungen zu stärken:

Anfordern von Bewertungen und Rezensionen für Ihre App – UWP-Anwendungen

Globalisierung und Lokalisierung

Wenn Sie beabsichtigen, Ihre Anwendung in mehreren Sprachen oder Märkten zu versenden, kann dieser Leitfaden hilfreich sein:

Globalisierung und Lokalisierung – Windows-Apps

Wenn Sie eine systemeigene Anwendung in C++ oder C# erstellen, können Sie eine Ressourcendatei verwenden, um den Lokalisierungsprozess zu vereinfachen:

Lokalisieren von Zeichenfolgen im UI- und App-Paketmanifest – UWP-Anwendungen