Medienwiedergabe: Was Sie über die Medienwiedergabe wissen müssen, um Ihre App für Windows 8 zu optimieren

Entwicklerblog für Windows 8-Apps

Ein Einblick in die Entwicklung von Apps im Metro-Stil – präsentiert vom Windows 8-Entwicklerteam

Medienwiedergabe: Was Sie über die Medienwiedergabe wissen müssen, um Ihre App für Windows 8 zu optimieren

Rate This
  • Comments 1

Unter Windows 8 wurden verschiedene Änderungen am Audiosystem vorgenommen, um die Benutzererfahrung mit Apps zu verbessern. In diesem Blogbeitrag möchte ich diese Änderungen und deren Mehrwert für Medien-Apps erläutern. Ich hoffe, dass Sie dank dieser Informationen die Funktionsweise der Audiowiedergabe von Apps aus dem Windows Store besser verstehen, insbesondere die Audiowiedergabe im Hintergrund. Zunächst möchte ich ein häufiges Anwendungsszenario beschreiben.

Sie hören gerade mit einer Musik-App von Windows Ihre Lieblingsband. Dann sendet Ihnen ein Freund eine MP3-Datei mit einem Livesong seiner Lieblingsband. Wenn Sie die MP3-Datei öffnen, wird Windows Media Player mit der Wiedergabe des Songs gestartet. Nun hören Sie gleichzeitig Musik von zwei unterschiedlichen Bands. Dann erinnert Sie ein Alarmsignal daran, Ihre Schwester von der Schule abzuholen – die reinste Kakophonie. Überstürzt klappen Sie Ihren Laptop zu. Wenn Sie so denken wie ich, suchen Sie eine bessere Methode, um die Sounds Ihres Computers zu verwalten.

Wir haben zur Lösung dieses Problems den Wiedergabe-Manager sowie Medientransportsteuerelemente für Windows 8-Apps eingeführt. Der Wiedergabe-Manager ordnet mithilfe von Audiokategorien Audiostreams – und damit auch Audio-Apps – Verhaltensweisen zu. Eingehenden Audiostreams im Vordergrund wird die Wiedergabe stets gestattet. Durch das Markieren von Streams kann der Wiedergabe-Manager jedoch intelligente Entscheidungen über das Verwalten mehrerer Streams im Vorder- und Hintergrund treffen.

Sie geben z. B. über eine hintergrundfähige App Musik wieder und verschieben diese in den Hintergrund. Wenn Sie nun eine neue App im Vordergrund zur Wiedergabe von Musik öffnen, schaltet der Wiedergabe-Manager die App im Hintergrund stumm. So wird eine flüssigere und intuitivere Benutzererfahrung ermöglicht. Der Benutzer hört nur das, was er hören möchte. Wenn Sie zudem eine intelligente Dämpfung von Hintergrundsounds für Benachrichtigungen (wie Alarm- und Klingeltöne) sowie einen einfachen Zugriff auf Medientransportsteuerelemente zum Beenden, Starten, Springen zum nächsten/vorherigen Titel hinzufügen, erhalten Sie ein System, in dem Sie nicht mehr hektisch nach der App suchen müssen, deren Audiowiedergabe aktuell nicht gewünscht ist.

Warum haben wir diese Änderungen vorgenommen?

Unter früheren Versionen von Windows konnten vom Benutzer mehrere Anwendungen gleichzeitig geöffnet und ausgeführt werden. Beispielsweise war es möglich, den Media Player zu minimieren, um an einem großen Monitor zugleich ein Dokument zu bearbeiten und im Web zu surfen. Mit zwei Monitoren kann das Multitasking sogar noch erweitert werden. Unter Windows 8 und der neuen immersiven Umgebung hat sich einiges geändert, z. B. wie viele Apps auf einmal auf der Startseite angezeigt werden können. Da nur eine App in der Hauptanzeige und eine angedockte App angezeigt wird, kann die Suche nach einer zu beendenden App beschwerlich sein, wenn sich diese weiter hinten befindet. Dies ist der wesentliche Grund für die Entwicklung des Wiedergabe-Managers und der Medientransportsteuerelemente. Dank dieser Features kann Musik nun wesentlich einfacher bei Bedarf wiedergegeben oder beendet werden. Benutzer müssen auch nicht nach Apps suchen, deren Audiowiedergabe beendet werden soll, denn der Wiedergabe-Manager kann Apps stummschalten.

Der Audiomixer ist in der neuen Umgebung nicht mehr enthalten. Bei Desktop-Anwendungen ist diese Funktion noch immer vorhanden, für Apps wird sie jedoch nicht angezeigt. Es erschien uns nicht sinnvoll, zur Anpassung einzelner App-Lautstärken zum Desktop zu wechseln. Wir empfehlen daher, Apps ohne Lautstärkeregelung zu entwickeln. So werden Benutzer eher die Gesamtlautstärke über die Hauptlautstärkeregelung steuern, sodass die gesamte Lautstärkeverwaltung ebenfalls vereinfacht wird, aber das ist eine andere Geschichte.

Streamkategorien

Mithilfe von Streamkategorien ist die Lautstärkeregelung von Audiostreams durch das System möglich. Windows kann nun logische Entscheidungen darüber treffen, ob eine Audiowiedergabe erwünscht oder unerwünscht ist. Durch Audiokategorien wird festgelegt, wie Streams von Apps im Vordergrund (d. h. die App wird auf dem Bildschirm angezeigt) oder im Hintergrund (d. h. die App wird von einer anderen App verdeckt) behandelt werden. Apps werden beim Starten bzw. beim Streifen auf den Bildschirm im Vordergrund ausgeführt. Apps im angedockten Zustand befinden sich ebenfalls im Vordergrund.

Beispielsweise ist die Wiedergabe zufälliger Sounds, z. B. interaktive Töne oder Klickgeräusche, für Apps im Hintergrund wahrscheinlich nicht notwendig. Diese Geräusche wären eher ärgerlich. Also schaltet der Wiedergabe-Manager diese App stumm, sobald sie sich im Hintergrund befindet. Medien-Apps, die Ihre Musikwiedergabeliste abspielen, sollen jedoch mit der Wiedergabe fortfahren, sodass Sie beim Surfen im Web oder beim Arbeiten weiterhin Musik hören können.

Im Folgenden wird die Verwendung von Audiokategorien kurz beschrieben. Die einfachste Methode zur Audiowiedergabe in einer Windows 8-App stellt das Audiotag dar.

<audio controls="controls"> 
<source src="song.mp3"/>
</audio>

JavaScript

audtag = document.createElement('audio');
audtag.setAttribute("id", "audtag");
audtag.setAttribute("msAudioCategory", "BackgroundCapableMedia");
document.getElementById("MediaElement").appendChild(audtag);
audtag.load();

C#

In C# können Sie die Audiokategorie wie folgt festlegen:

Playback.SetAudioCategory(AudioCategory.BackgroundCapableMedia);
Playback.SelectFile();

Es stehen Ihnen verschiedene Audiokategorien zur Verfügung. In der folgenden Tabelle sind die verfügbaren Kategorien zusammen mit einer Beschreibung des dazugehörigen Verhaltens aufgelistet. Die Zuordnung der Streams zu den Kategorien muss sorgfältig erfolgen, da Ihre App sich von Fall zu Fall unterschiedlich verhält.

Verfügbare Streamkategorien

Streamtyp

Beschreibung

Hintergrundfähig?

ForeGroundOnlyMedia

Spiele oder andere Sounds, die nur im Vordergrund funktionieren, jedoch vorhandene Mediensounds im Hintergrund stummschalten

  • Für ein Spiel erforderliche Soundeffekte (Tanzspiele, Musikspiele)
  • Spielfilme (die anhalten, wenn Sie in den Hintergrund verschoben werden)

Nein

BackgroundCapableMedia

Für Audio, das im Hintergrund kontinuierlich wiedergegeben werden soll. Beispiele:

  • Wiedergabe lokaler Medien
  • Lokale Wiedergabeliste
  • Radiostreams
  • Streamingwiedergabeliste
  • Musikvideos
  • Audio-/Radiostreams, YouTube, Netflix usw.

Ja

Communications

Für Kommunikation mit Audiostreams wie:

  • Internettelefonie (Voice over IP, VoIP)
  • Echtzeitchat oder andere Arten von Telefonanrufen

Ja

Alert

Tonschleifen oder andauernde Benachrichtigungssounds:

  • Alarm
  • Klingeltöne
  • Klingeltonbenachrichtigung
  • Sounds, bei denen die vorhandene Lautstärke verringert werden muss

Nein

GameMedia

Hintergrundmusik eines Spiels

Nein

GameEffects

Soundeffekte von Spielen, die zusammen mit vorhandenen Sounds auftreten, z. B.:

  • Springende Bälle, Motorengeräusche usw.
  • Dialoge von Figuren
  • Alle Sounds außer Musik

Nein

SoundEffects

Sounds, die zusammen mit vorhandenen Sounds auftreten, z. B. Pieptöne und andere kurze Geräusche

Nein

Other

Standardstreamkategorie für nicht kategorisierte Streams

Nein

Im Folgenden finden Sie einige praktische Tipps zum Festlegen der Kategorie von Audiostreams:

  • Sie können Audio- und Videotags für mehrere Streamtypen dynamisch generieren und bei Bedarf verwerfen.
  • Mit der Kategorie „Communications“ wird die Audiowiedergabe automatisch auf standardmäßig geringe Latenzzeit festgelegt. Dadurch entfällt bei der Entwicklung von Apps mit bidirektionaler Kommunikation ein Arbeitsschritt.
  • Audiotags sollten nur dann für geringe Latenzzeit konfiguriert werden, wenn es absolut notwendig ist. Denn Kommunikationen werden bereits standardmäßig im Modus für geringe Latenzzeit gestreamt. Wenn Sie einen Audiostream im Modus für geringe Latenzzeit ausführen und bereits ein Kommunikationsstream initialisiert wurde, werden viele CPU-Ressourcen beansprucht.

Streamkategorien und App-Verhalten

[Ausführliche Informationen zum App-Verhalten finden Sie unter Audio Playback in a Metro Style App]

Die Klangwiedergabe einer App wird in erster Linie darüber festgelegt, ob sie sich im Vordergrund befindet. Wenn jedoch zusätzlich Kommunikations-Apps und hintergrundfähige Medien-Apps berücksichtigt werden, wird es etwas komplizierter. Doch keine Sorge: Das App-Verhalten auf Grundlage von Streamtypen lässt sich ganz einfach erklären. Es gelten die folgenden Regeln:

  • Wenn sich eine App im Vordergrund befindet, spielt die Kategorie des Audiostreams keine Rolle. Der Sound wird wiedergegeben, solange das System nicht stummgeschaltet oder die Lautstärke heruntergesetzt wird.
  • Es kann nur eine hintergrundfähige App Sound wiedergeben werden, es sei denn, es befinden sich zwei Apps im Vordergrund.
  • Kommunikations-Apps dämpfen stets bei eingehenden Anrufen eines Kommunikationsstreamtyps andere Systemsounds. Wenn im Hintergrund Musik wiedergegeben wurde und der Benutzer während des Anrufs weiterhin Musik hören möchte, kann die Musik-App in den Vordergrund verschoben werden (entweder die App andocken oder im Vollbildmodus anzeigen), sodass Regel 1 gilt.
  • Sounds einer App im Vordergrund werden zeitgleich mit hintergrundfähigen Audioanwendungen wiedergegeben, falls die Streams im Vordergrund mit dem Hintergrundstream kompatibel sind. Beispielsweise führt ein ForegroundOnlyMedia-Stream zur Stummschaltung eines im Hintergrund wiedergegebenen BackgroundCapableMedia-Streams, GameEffects vermischen sich jedoch mit BackgroundCapableMedia, sodass Benutzer Spiele spielen und Musik hören können.

Damit Ihre App wie erwartet ausgeführt wird, müssen Sie bei der Auswahl der Kategorie für Ihre App einige Regeln beachten. So funktioniert die Audiowiedergabe von Apps im Hintergrund:

  • Fügen Sie eine Deklaration für Hintergrundaudio im App-Manifest hinzu.
  • Legen Sie „msAudioCategory“ entweder auf „Communications“ oder „BackgroundCapableMedia“ fest.
  • Registrieren Sie die App für Medientransportsteuerelemente (hierzu später mehr).

Bei Kategorien, die keine Audiowiedergabe im Hintergrund unterstützen, ist kein hintergrundfähiger Medientyp erforderlich. Wählen Sie stattdessen „Andere“ aus, oder verwenden Sie „GameEffects“ bzw. einen anderen relevanten Typ.

Allgemeine Informationen zur Verwendung von Apps im Hintergrund finden Sie im Blogbeitrag Produktivität im Hintergrund – Hintergrundaufgaben

Audiowiedergabe im Hintergrund und verbundener Standbymodus

Der verbundener Standbymodus ist ein neuer Energiesparstatus unter Windows 8, der einen Smartphone-ähnlichen Energiemodus auf SoC-Geräten ermöglicht. Im verbundenen Standbymodus scheint das Gerät ausgeschaltet zu sein, ist es jedoch nicht. Apps können weiterhin Musik im Hintergrund wiedergeben, Updates empfangen und das Netzwerk verwenden. Weitere Informationen finden Sie im Blogbeitrag über das Verbessern der Energieeffizienz für Anwendungen. Beim Streaming von Musik-Apps sind einige wichtige Maßnahmen erforderlich, wenn die Hintergrundaudio-App beim Eintritt in den verbundenen Standbymodus weiterhin Netzwerkstreaming ausführen soll.

Kurz gesagt: Ohne Netzwerkverbindung kann Ihre App keine Audiostreams wiedergeben. Die lokale Audiowiedergabe wird weiterhin ausgeführt. Wenn Sie jedoch eine Wiedergabeliste über einen Server verwenden, kann Ihre App nur bei einer bestehenden Netzwerkverbindung den nächsten Song abrufen.

Es gibt drei Optionen, mit denen das Streaming von Musik für Ihre App auch im verbundenen Standbymodus des Geräts möglich ist:

  1. Verwenden der Hintergrundübertragungs-API, die alle weiteren Schritte für Sie erledigt
  2. Umschließen eines vorhandenen MF-Bytestreams, wenn nur wenige Daten übertragen werden müssen
  3. Verwenden der Custom Media Foundation-Quelle oder des Custom Media Foundation-Bytestream

Ausführliche Informationen zu diesen Optionen finden Sie unter Writing a power savvy background media app.

SoundLevel-Systembenachrichtigungen

SoundLevel-Benachrichtigungen informieren Apps darüber, wann sie gehört werden können. Zu Beginn der Entwicklung des Wiedergabe-Managers waren wir nicht sicher, ob Apps Rückmeldungen über ihre Stummschaltung benötigen. Bald war uns jedoch klar, dass Apps im Hintergrund mit dem Rendering der Audio- oder Videowiedergabe unnötig Systemressourcen in Anspruch nehmen und so die Akkulaufzeit verringern können. Wenn Sie also Ihre App für den Empfang von SoundLevel-Benachrichtigungen registrieren, sendet der Wiedergabe-Manager je nach Audiostatus Ihrer App eine von drei Benachrichtigungen an die App:

  • SoundLevel(Full) bedeutet, dass der Sound Ihrer App hörbar ist.
  • SoundLevel(Mute) bedeutet, dass der Sound Ihrer App nicht hörbar ist (Sound kann jedoch weiterhin wiedergegeben werden).
  • SoundLevel(Low) bedeutet, dass die Lautstärke Ihrer App um 28 dB herabgesetzt wurde und kaum (aber weiterhin) hörbar ist.

Ich möchte im Folgenden die einzelnen Benachrichtigungen sowie das Verhalten Ihrer App auf diese Benachrichtigungen näher erläutern.

SoundLevel(Full)

Eine SoundLevel(Full)-Benachrichtigungen wird unter folgenden Bedingungen an die App gesendet:

So sollte Ihre App reagieren:

Eine nicht hintergrundfähige App wechselt aus dem Hintergrund in den Vordergrund.

Keine Aktion erforderlich

Die App wird nach dem Startvorgang zum ersten Mal angezeigt.

Keine Aktion erforderlich

SoundLevel(Mute)

Eine SoundLevel(Mute)-Benachrichtigungen wird unter folgenden Bedingungen zur App gesendet:

So sollte Ihre App reagieren:

Eine nicht hintergrundfähige App wechselt aus dem Vordergrund in den Hintergrund.

Anhalten

Die Wiedergabe eines anderen, ähnlichen Streamtyps wird gestartet, während die Wiedergabe Ihrer App weiterhin ausgeführt wird. (Wird die Wiedergabe eines zweiten BackgroundCapableMedia-Streams während der Wiedergabe eines anderen Streams gestartet, wird der ältere Stream stummgeschaltet.)

Anhalten zum Einsparen von Systemressourcen (es sei denn, die weitere Ausführung ist erforderlich)

Wird ein Communications-Stream im Hintergrund ausgeführt, wird ein SoundLevel(Mute) gesendet, wenn ein anderer Communications-Stream im Vordergrund gestartet wird.

Verschieben des Anrufs in die Warteschleife

SoundLevel(Low)

Eine SoundLevel(Low)-Benachrichtigungen wird unter folgenden Bedingungen zur App gesendet:

So sollte Ihre App reagieren:

Ein Communications-Stream wird während der Audiowiedergabe Ihrer App gestartet.

Anhalten, wenn Inhalte wiedergegeben werden, die der Benutzer nicht verpassen soll. Der Sound ist hörbar, jedoch sehr leise, es sei denn, die App wird wieder in der Vordergrund verschoben. In diesem Szenario können Sie die Option festlegen. Wir empfehlen jedoch, die App anzuhalten.

 

Im folgenden Beispiel erfahren Sie mehr über die Registrierung und Verwendung von SoundLevel-Ereignissen:

JavaScript

// Create the media control. 

mediaControl = Windows.Media.MediaControl;

// Add event listeners for PBM notifications to illustrate app is
// getting a new SoundLevel and pass the audio tag to the function

mediaControl.addEventListener("soundlevelchanged", soundLevelChanged, false);


function soundLevelChanged() {

// Catch SoundLevel notifications and determine SoundLevel state. If it's muted, pause the player.

var soundLevel = Windows.Media.MediaControl.soundLevel;


switch (soundLevel) {

case Windows.Media.SoundLevel.muted:
log(getTimeStampedMessage("App sound level is: Muted"));
break;
case Windows.Media.SoundLevel.low:
log(getTimeStampedMessage("App sound level is: Low"));
break;
case Windows.Media.SoundLevel.full:
log(getTimeStampedMessage("App sound level is: Full"));
break;
}

C#

// add new handlers
MediaControl.SoundLevelChanged += MediaControl_SoundLevelChanged;
MediaControl.PlayPauseTogglePressed += MediaControl_PlayPauseTogglePressed;
MediaControl.PlayPressed += MediaControl_PlayPressed;
MediaControl.PausePressed += MediaControl_PausePressed;
MediaControl.StopPressed += MediaControl_StopPressed;

// save current handlers
SoundLevelChangedHandler = MediaControl_SoundLevelChanged;

string SoundLevelToString(SoundLevel level)
{
string LevelString;

switch (level)
{
case SoundLevel.Muted:
LevelString = "Muted";
break;
case SoundLevel.Low:
LevelString = "Low";
break;
case SoundLevel.Full:
LevelString = "Full";
break;
default:
LevelString = "Unknown";
break;
}
return LevelString;
}

Erfassung und Loopback

Wir haben der Erfassung und Loopback einige Aspekte hinzugefügt. Wenn Sie sich für das Erstellen einer erfassungsbasierten App entschieden haben, ist die Auswahl der Kategorie „Other“ zur Markierung Ihres Erfassungsstreams erforderlich (andernfalls wird das System diese Kategorie zuweisen). Viel wichtiger ist jedoch, dass Sie Ihren Erfassungsstream mit keiner anderen Kategorie kategorisieren können. Wenn Sie bei Kommunikations-App Ihren Renderingstream als Communications-Stream gekennzeichnet haben, ist die Markierung des Erfassungsstreams nicht erforderlich.

Wenn das System zusätzlich SoundLevel(Mute) sendet, werden Rendering, Erfassung und Loopback stummgeschaltet.

Warum werden keine Visibility-Benachrichtigungen verwendet?

Obwohl die Sichtbarkeit von Apps eng mit der Hörbarkeit von Apps zusammenhängt, ist es wichtig, nur auf SoundLevel-Ereignisse zu reagieren, um die Hörbarkeit Ihrer App festzustellen. Verwenden Sie hierfür keine Visibility-Ereignisse, denn Tonwiedergabe und Anzeige der App sind möglicherweise nicht mehr synchron.

Medientransportsteuerelemente

[Unter System Transport Controls finden Sie ein umfassendes Benutzerhandbuch.]

Durch das Hinzufügen der global verfügbaren Medientransportsteuerelemente (siehe die folgende Abbildung) ist die Musikwiedergabe und -steuerung von Musik-Apps ein Kinderspiel.

Startseite
Abbildung 1: Ansicht der Startseite mit Medientransportsteuerelementen

Medientransportsteuerelemente
Abbildung 2: Zugeschnittene Ansicht der Medientransportsteuerelemente
mit Plattencover und Metadaten

Mit der MTC-Benutzeroberfläche (so benannt vom Team der Medienplattform) können Benutzer Sound wiedergeben oder anhalten, unabhängig davon, ob er sich im Vorder- oder Hintergrund befindet – auch wenn die App in den Hintergrund verschoben wurde. Diese Benutzeroberfläche wird aufgerufen, wenn ein Benutzer auf die Lautstärketasten einer Tastatur oder eines Slate drückt. Sie wird überall angezeigt: in der neuen immersiven Umgebung, auf dem Desktop und sogar auf dem Sperrbildschirm. Dies ist eine tolle neue Funktion unter Windows 8, die Ihre Apps nutzen sollten.

Ich möchte hier auf das Szenario am Anfang verweisen (der Benutzer hört zeitgleich verschiedene Sounds und klappt seinen Laptop zu), denn genau aus diesem Grund haben wir ein globales Transportsteuerelement hinzugefügt. Es sind nicht mehr verschiedene Fenster vorhanden, zwischen denen der Benutzer wie auf dem Desktop wechseln kann. Deswegen ist eine Funktion notwendig, mit der Benutzer den Sound einer App schnell beenden können. Die Verknüpfung der MTC-Benutzeroberfläche mit der Lautstärkeregelung ist intuitiv und bietet über ein einziges Steuerelement ausführliche Informationen zu allen im System wiedergegebenen Medien.

Wenn Sie eine Medien-App verwenden, können Sie diese wie folgt mit der Steuerung verknüpfen (dies gilt insbesondere bei hintergrundfähigen Apps):

JavaScript:

// Assign the button object to MediaControls
MediaControls = Windows.Media.MediaControl;

// Add event listeners for the buttons
MediaControls.addEventListener(“playselected”, play, false);
MediaControls.addEventListener(“pauseselected”, pause, false);
MediaControls.addEventListener(“playpausetoggleselected”, playpausetoggle, false);

C#

using Windows.Media;
MediaControl.SoundLevelChanged += MediaControl_SoundLevelChanged;
MediaControl.PlayPauseTogglePressed += MediaControl_PlayPauseTogglePressed;
MediaControl.PlayPressed += MediaControl_PlayPressed;
MediaControl.PausePressed += MediaControl_PausePressed;
MediaControl.StopPressed += MediaControl_StopPressed;

Im folgenden Codeausschnitt wird gezeigt, wie die Schaltflächen „Vorheriger Titel“ und „Nächster Titel“ durch Hinzufügen von Ereignislistenern zum MediaControl-Objekt aktiviert werden können.

JavaScript

// enable the previous track button
MediaControls.addEventListener(“previoustrackselected”, previoustrack, false);

// enable the next track button
MediaControls.addEventListener(“nexttrackselected”, nexttrack, false);

C#

MediaControl.NextTrackPressed += MediaControl_NextTrackPressed; 
MediaControl.PreviousTrackPressed -= MediaControl_PreviousTrackPressed;

Sie können dem Flyout zudem Metadaten zum Künstler sowie Plattencover hinzufügen. Ausführliche Informationen finden Sie im oben genannten Whitepaper.

Die MTC-Benutzeroberfläche wird von der verwendeten Medien-App ausgefüllt. Die Benutzeroberfläche wird solange ausgefüllt, bis sie vom System gelöscht wird. In folgenden Situationen wird die Benutzeroberfläche gelöscht:

  1. Der Benutzer schließt die App.
  2. Der Benutzer löscht kürzlich verwendete Apps von der Liste für den App-Wechsel.
  3. Das System beendet die App, um Ressourcen freizugeben.
  4. Die App stürzt ab.
  5. Der Benutzer fährt den Computer herunter.
  6. Die App hebt die Registrierung für MTC-Steuerung auf.

Zusammenfassung

Wir haben uns sehr darum bemüht, unter Windows 8 ein völlig neues Hörerlebnis zu entwickeln, das sich nahtlos in neue Formfaktoren und in das neue Windows einfügt. Audiokategorien stellen Windows einen Kontext zur Verfügung, mit dem das System Apps angemessen verwalten kann. Wenn Ihre App die Audiowiedergabe im Hintergrund unterstützt, müssen Sie nur die Kategorie festlegen, die Medientransportsteuerelemente verknüpfen und diese im Manifest deklarieren.

SoundLevel-Benachrichtigungen informieren darüber, ob der Sound Ihrer App vom Benutzer gehört werden kann. Mit diesen Informationen können Sie die Akkulaufzeit verlängern, indem die Audiowiedergabe angehalten wird, wenn sie im Hintergrund nicht gehört werden kann.

Die Medientransportbenutzeroberfläche zeigt die Lautstärke an, ermöglicht ein schnelles Starten und Beenden der Audiowiedergabe und bietet zudem die Möglichkeit, von einer Medien-App Informationen zu Künstlern abzurufen.

Wir hoffen, dass auch Sie diese neuen Technologien in Ihren Apps verwenden, um Ihren Kunden ein großartiges Hörerlebnis zu bieten. Sie sind einfach zu implementieren und bieten den Benutzern deutlichen Mehrwert.

– Johnny Bregar, Programmmanager, Windows

  • Loading...
Leave a Comment
  • Please add 4 and 6 and type the answer here:
  • Post