Medien-Apps, die per Sprachbefehl mit Google Assistant auf Android-Smartphones interagieren, Autos, Fernseher und Kopfhörer werden von Android Media Session APIs betrieben und nutzen Medienaktionen. Der Lebenszyklus von Mediaaktionen ist nicht immer einfach zu verfolgen. Selbst eine einfache Wiedergabe in der Suche Anfrage hat viele Zwischenschritte, bei denen etwas schiefgehen könnte. Dies wird im Abschnitt vereinfachte Zeitachse:
Media Controller Test (MCT) können Sie die Feinheiten der Medienwiedergabe auf Android-Geräten testen überprüfen Sie Ihre Media-Session-Implementierung.
Das MCT zeigt Informationen zum MediaController
deiner App an, z. B.
PlaybackState
und Metadaten. Außerdem können sie zum Testen von App-internen Mediensteuerelementen verwendet werden.
Das MCT umfasst auch Verifikationstests
Framework, das
können Sie Ihre QA-Tests
automatisieren.
Zur Verwendung des MCT muss Ihre App einen Medienbrowserdienst haben und Sie müssen dem MCT erlauben, eine Verbindung herzustellen. Weitere Informationen finden Sie unter Medienbrowserdienst erstellen .
MCT starten
Wenn Sie MCT starten, werden zwei Listen angezeigt:
- Active MediaSessions: Diese Liste ist beim Start des MCT anfangs leer. und die Meldung „Keine Medien-Apps gefunden. Benachrichtigung Für die Suche nach aktiven Mediensitzungen ist eine Hörerberechtigung erforderlich." Klicken Sie auf Einstellungen, wechseln Sie zum Berechtigungsbildschirm und aktivieren Sie die Berechtigung für das MCT.
- MediaBrowserService-Implementierungen: In dieser Liste werden Apps angezeigt, die einen Medienbrowser-Dienst implementiert haben. Wenn Sie einen Medienbrowser-Dienst implementiert haben, wird Ihre App in dieser Liste angezeigt. Sie können das MCT aber nur verwenden, wenn Sie Ihre App so konfiguriert haben, dass alle oder das MCT auf die Zulassungsliste gesetzt hat. Siehe Clientverbindungen steuern mit onGetRoot() .
Telefon-App manuell testen
Wenn Sie dem MCT erlaubt haben, eine Verbindung zum Medienbrowserdienst Ihrer App herzustellen, wird Ihre App in der Liste der Implementierungen der Mediabrowser-Dienste angezeigt. Dort finden und klicken Sie auf Steuern, um die App im Hintergrund zu starten.
Andernfalls müssen Sie die App zuerst selbst im Hintergrund starten und dann auf Festlegen, wann es in der Liste der aktiven Mediensitzungen angezeigt wird.
Test – Vorbereiten und Spielen
Wenn das MCT mit der Steuerung Ihrer App beginnt, wird die aktuelle Sitzung der App angezeigt. Metadaten: das aktuell ausgewählte Medium und die Aktionen, die in der Sitzung ausgeführt werden die Sie bewältigen können.
Oben auf der Seite mit den MCT-Steuerelementen finden Sie ein Drop-down-Menü, in dem Sie Search, URI, Media ID oder None, zusammen mit einem Textfeld um die Eingabedaten für die Suche, den URI oder die Media-ID anzugeben, wenn Sie wählen Sie eine dieser Optionen aus.
Mit den Schaltflächen Vorbereiten und Abspielen direkt unter dem Textfeld führen Sie
angemessene Aufrufe (onPrepare()
, onPrepareFromSearch()
, onPrepareFromUri()
,
onPrepareFromMediaId()
, onPlay()
, onPlayFromSearch()
, onPlayFromUri()
,
onPlayFromMediaId()
), je nachdem, welche Aktion Sie ausgewählt haben.
Audiofokus wird getestet
Eine gute Medien-App sollte mit Audioinhalten umgehen können. fokus. Sie können den Audiofokus testen, neben Ihrer App eine weitere Audio-App ausführen. Die Seite für MCT-Steuerungen enthält ein Schaltfläche, die den Audiofokus anfordert und wieder freigibt.
So testen Sie den Audiofokus:
- Wählen Sie im Drop-down-Menü Audiofokus einen der drei Hinweise zur Dauer aus.
AUDIOFOCUS_GAIN
,AUDIOFOCUS_GAIN_TRANSIENT
oderAUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK
. - Drücke die Taste, um den Fokus anzufordern.
- Drücken Sie die Taste noch einmal, um den Fokus aufzuheben.
Transportkontrollen testen
Wische nach links, um die UI-Ansicht des MCT anzuzeigen. Diese Ansicht hat die Standard-Transportschaltflächen der Media-Controller und zeigt die Bild und Daten des Programms. Deaktivierte Transportschaltflächen sind in Orange. Alle anderen sind aktiv.
Teste deinen Player mithilfe der Transportschaltflächen. Status der Transportschaltflächen wie erwartet sich ändern sollte. Wenn Sie beispielsweise die Wiedergabetaste drücken, deaktiviert und die Schaltflächen PAUSE und STOP aktiviert werden.
Wischen Sie noch einmal nach links, um eine Ansicht mit optionalen Aktionen aufzurufen. Jede Aktion ein Steuerelement, das anzeigt, ob es aktiv ist oder nicht. Ist er aktiv, können Sie die Aktion ausführen, indem Sie darauf klicken.
Wenn Sie über die Liste der Apps, die einen Medienbrowserdienst haben, eine Verbindung hergestellt haben, können Sie Wischen Sie noch zweimal nach links, um sich die Inhalte Ihrer App anzusehen. oder im Inhaltsbaum suchen.
Video-App manuell testen
Verwenden Sie den Splitscreen-Modus, um Video-App-Controller zu testen. Öffne zuerst die Video-App in einem Fenster öffnen und das MCT dann im Splitscreen-Modus öffnen.
Überprüfungstests ausführen
Das Framework für Überprüfungstests bietet Ein-Klick-Tests, prüfen, ob Ihre Medien-App korrekt auf eine Wiedergabeanfrage reagiert.
Telefon-App testen
Um auf die Bestätigungstests zuzugreifen, klicken Sie neben dem Medium auf die Schaltfläche Testen.
MCT-Status
In der nächsten Ansicht sehen Sie detaillierte Informationen zum MediaController
,
z. B. PlaybackState
, Metadaten und die Warteschlange. Es gibt zwei Tasten
oben rechts in der Symbolleiste. Mit der Schaltfläche auf der linken Seite können Sie
und formatierten Logs enthalten. Mit der Schaltfläche rechts wird die Ansicht aktualisiert und
auf dem neuesten Stand halten.
Test auswählen
Wenn Sie nach links wischen, gelangen Sie zur Ansicht mit den Bestätigungstests. Hier können Sie eine scrollbare Liste der verfügbaren Tests. Wenn bei einem Test eine Abfrage wie die wie in Abbildung 7 dargestellt, ein Textfeld zum Eingeben der Abfragezeichenfolge.
Das MCT umfasst Tests für die folgenden Medienaktionen. Weitere Tests sind kontinuierlich zum Projekt hinzugefügt werden:
- Wiedergeben
- Aus der Suche wiedergeben
- ID der Wiedergabe über Media
- Über URI wiedergeben
- Pausieren
- Aufnahme beenden
- Weiter
- Weiter zum vorherigen Titel
- In die Warteschlange springen
- Springen zu
Testergebnisse
Der Ergebnisbereich unten in der Ansicht ist zunächst leer. Es wird die wenn Sie einen Test durchführen. Um beispielsweise den Test für die Wiedergabe von Suchergebnissen durchzuführen, Geben Sie eine Suchanfrage in das Textfeld ein und klicken Sie auf Test ausführen. Die folgenden Der Screenshot zeigt ein erfolgreiches Testergebnis.
Android TV-App testen
Wenn Sie das MCT auf Android TV starten, sehen Sie eine Liste der installierten Medien-Apps. Eine App wird nur dann in dieser Liste angezeigt, wenn sie einen Medienbrowser implementiert. .
Wenn Sie eine App auswählen, gelangen Sie zum Testbildschirm, auf dem rechts eine Liste von Bestätigungstests angezeigt wird.
Beim Ausführen eines Tests werden auf der linken Seite des Bildschirms Informationen zur ausgewählten MediaController. Weitere Informationen finden Sie in den MCT-Logs in Logcat.
Tests, die eine Abfrage erfordern, sind mit einem Tastatursymbol gekennzeichnet. Wenn Sie auf eine der öffnen diese Tests ein Eingabefeld für die Abfrage. Drücken Sie die Eingabetaste, um den Test zu starten.
Zur Vereinfachung der Texteingabe können Sie auch den Befehl adb
verwenden:
adb shell input text your-query
Sie können "%s" verwenden. um ein Leerzeichen zwischen den Wörtern einzufügen. Beispiel: fügt den Text "Hello World" in das Eingabefeld ein.
adb shell input text hello%sworld
Test erstellen
Sie können eine Pull-Anfrage mit weiteren Tests senden, die Sie für nützlich halten. Informationen zum Erstellen neuer Tests finden Sie in der MCT-GitHub-Wiki und sehen Sie sich die Bestätigungstest Anleitung.
Bitte lies die Anleitung für den Beitrag.
Weitere Informationen
Das MCT sollte in Verbindung mit Apps verwendet werden, die Medien-APIs implementieren. Weitere Informationen finden Sie in der Universeller Android-Musikplayer ein Beispiel für eine solche App.
Fehlerkorrekturen und Verbesserungen sind uns immer willkommen. In der Anleitung für Spenden.