Aplikacje multimedialne, które komunikują się głosowo z Asystentem Google na telefonach z Androidem, samochodach, telewizorach i słuchawkach, korzystają z interfejsów API sesji multimediów na Androidzie i używają działań związanych z multimediami. Śledzenie cyklu medialnego może być trudne. Nawet proste odtworzenie z żądania wyszukiwania ma wiele etapów pośrednich, w których coś może pójść nie tak, jak widać na uproszczonej osi czasu:
Aplikacja Media Controller Test (MCT) pozwala przetestować tajniki odtwarzania multimediów na Androidzie i ułatwi zweryfikowanie implementacji sesji multimediów.
MCT udostępnia informacje o elemencie MediaController
Twojej aplikacji, takie jak PlaybackState
i metadane, i może służyć do testowania opcji sterowania multimediami w aplikacjach.
MCT zawiera też schemat testowania weryfikacji, który pozwala zautomatyzować kontrolę jakości.
Aby korzystać z MCT, Twoja aplikacja musi mieć usługę przeglądarki multimediów, a MCT musi się z nią połączyć. Więcej informacji znajdziesz w artykule Tworzenie przeglądarki multimediów.
Rozpoczęcie MCT
Po uruchomieniu MCT zobaczysz 2 listy:
- Active MediaSessions – ta lista jest początkowo pusta po uruchomieniu MCT i wyświetla się komunikat „Nie znaleziono aplikacji multimedialnych. Powiadomienia Do skanowania w poszukiwaniu aktywnych sesji multimediów wymagane są uprawnienia słuchacza." Kliknij Settings (Ustawienia), aby przejść na ekran uprawnień i włączyć MCT.
- Implementacje usług MediaBrowserService – ta lista zawiera aplikacje, w których zaimplementowano usługę przeglądarki do multimediów. Jeśli masz wdrożoną usługę przeglądarki multimediów, Twoja aplikacja pojawi się na tej liście, ale z MCT możesz korzystać tylko wtedy, gdy skonfigurujesz ją tak, aby akceptowała wszystkie połączenia lub umieścisz MCT na liście dozwolonych. Więcej informacji znajdziesz w artykule o kontrolowaniu połączeń klienta za pomocą onGetRoot().
Ręczne testowanie aplikacji telefonicznej
Jeśli pozwolisz MCT połączyć się z usługą przeglądarki multimediów w Twojej aplikacji, aplikacja pojawi się na liście implementacji listy usług w przeglądarce multimediów. Znajdź go i kliknij Sterowanie, aby uruchomić aplikację w tle.
W przeciwnym razie musisz najpierw samodzielnie uruchomić aplikację w tle, a potem kliknąć Sterowanie, gdy pojawi się na liście aktywnych sesji multimediów.
Przygotowanie do testów
Gdy MCT zacznie kontrolować aplikację, wyświetla metadane bieżącej sesji aplikacji: obecnie wybrane multimedia oraz działania, do których sesja ma być przygotowana.
W górnej części strony elementów sterujących MCT znajduje się menu, z którego możesz wybrać Szukaj, Identyfikator URI, Identyfikator mediów lub Brak, a także pole tekstowe do określenia danych wejściowych powiązanych z wyszukiwaniem, identyfikatorem URI lub identyfikatorem mediów (jeśli wybierzesz jedną z tych opcji).
Przyciski Przygotuj i Odtwórz pod polem tekstowym mogą wykonywać odpowiednie wywołania (onPrepare()
, onPrepareFromSearch()
, onPrepareFromUri()
, onPrepareFromMediaId()
, onPlay()
, onPlayFromSearch()
, onPlayFromUri()
,onPlayFromMediaId()
) w zależności od wybranego działania.
Testuję koncentrację audio
W dobrej aplikacji aplikacja do multimediów powinna obsługiwać audiofokus. Możesz przetestować koncentrację audio, uruchamiając obok aplikacji inną aplikację audio. Strona sterowania MCT zawiera przycisk, który wysyła żądania i udostępnia fokus audio.
Aby przetestować aktywność audio, wykonaj te czynności:
- W menu Koncentracja na dźwięku wybierz jedną z 3 podpowiedzi dotyczących czasu trwania:
AUDIOFOCUS_GAIN
,AUDIOFOCUS_GAIN_TRANSIENT
lubAUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK
. - Naciśnij przycisk, aby poprosić o zaznaczenie.
- Naciśnij przycisk ponownie, aby zwolnić ostrość.
Testowanie ustawień transportu
Przesuń w lewo, aby wyświetlić interfejs MCT. Zawiera on standardowe przyciski transportu kontrolera multimediów oraz obraz i dane programu sesji. Wyłączone przyciski transportu są zaznaczone na pomarańczowo. Pozostałe są aktywne.
Przetestuj odtwarzacz za pomocą przycisków transportu. Stan przycisków transportu powinien zmienić się zgodnie z oczekiwaniami. Na przykład po naciśnięciu przycisku ODTWÓRZ przycisk ODTWÓRZ powinien zostać wyłączony, a przyciski PAUZA i ZATRZYMAJ – włączone.
Jeszcze raz przesuń palcem w lewo, aby wyświetlić widok z opcjonalnymi czynnościami. Każde działanie ma element sterujący, który wskazuje, czy jest ono aktywne. Jeśli jest aktywny, możesz je kliknąć.
Jeśli masz połączenie z listą aplikacji obsługujących przeglądarkę multimediów, możesz jeszcze 2 razy przesunąć palcem w lewo, aby wyświetlić widok, który pozwala przechodzić w górę i w dół hierarchii treści oraz przeszukiwać drzewo treści.
Ręczne testowanie aplikacji wideo
Testuj kontrolery aplikacji wideo za pomocą trybu podzielonego ekranu. Najpierw otwórz aplikację wideo w jednym oknie, a potem MCT w trybie podzielonego ekranu.
Przeprowadzanie testów weryfikacyjnych
Platforma do testowania weryfikacji umożliwia przeprowadzanie testów jednym kliknięciem, które pozwalają sprawdzić, czy aplikacja do multimediów prawidłowo odpowiada na żądanie odtwarzania.
Testowanie aplikacji na telefon
Aby uzyskać dostęp do testów weryfikacyjnych, kliknij przycisk Przetestuj obok aplikacji multimedialnej.
Stan MCT
Następny widok zawiera szczegółowe informacje o tabeli MediaController
w MCT, np. PlaybackState
, metadane i kolejkę. W prawym górnym rogu paska narzędzi Za pomocą przycisku po lewej stronie można przełączać się między logami
możliwymi do analizowania i sformatowanymi. Przycisk po prawej stronie odświeża widok i wyświetla najnowsze informacje.
Wybieranie testu
Gdy przesuniesz palcem w lewo, wyświetli się widok testów weryfikacji, w którym możesz przeglądać przewijaną listę dostępnych testów. Jeśli test korzysta z zapytania, tak jak w przypadku testu odtwarzania z wyszukiwania pokazanego na Rysunku 7, dostępne jest pole tekstowe do wpisania ciągu zapytania.
MCT obejmuje testy następujących działań związanych z mediami, a do projektu jest stale dodawanych kolejnych testów:
- Odtwórz
- Odtwarzanie z wyszukiwarki
- Odtwórz z identyfikatora multimediów
- Odtwórz z URI
- Wstrzymaj
- Zatrzymaj
- Dalej
- Wstecz
- Przejdź do kolejki
- Przewiń do
Wyniki testu
Obszar wyników u dołu widoku jest początkowo pusty. Zobaczysz wyniki testu. Aby na przykład uruchomić test wyszukiwania, wpisz zapytanie w polu tekstowym i kliknij Uruchom test. Poniższy zrzut ekranu pokazuje pomyślny wynik testu.
Testowanie aplikacji na Androida TV
Po uruchomieniu MCT na Androidzie TV zobaczysz listę zainstalowanych aplikacji do multimediów. Pamiętaj, że aplikacja pojawi się na tej liście tylko wtedy, gdy zaimplementowana jest usługa przeglądarki multimediów.
Gdy wybierzesz aplikację, wyświetli się ekran testowania, z którego po prawej stronie wyświetli się lista testów.
Po uruchomieniu testu w lewej części ekranu pojawią się informacje o wybranym kontrolerze MediaController. Więcej informacji znajdziesz w logach MCT w Logcat.
Testy wymagające zapytania są oznaczone ikoną klawiatury. Kliknięcie jednego z tych testów spowoduje otwarcie pola do wprowadzania zapytania. Aby uruchomić test, naciśnij Enter.
Aby ułatwić sobie wpisywanie tekstu, możesz też użyć polecenia adb
:
adb shell input text your-query
Możesz użyć „%s”, aby dodać spację między słowami. Na przykład to polecenie dodaje do pola do wprowadzania danych tekst „Witaj świecie”.
adb shell input text hello%sworld
Tworzenie testu
Możesz przesłać żądanie pull z większą liczbą testów, które Twoim zdaniem są przydatne. Aby dowiedzieć się, jak tworzyć nowe testy, wejdź na stronę MCT GitHub Wiki i przeczytaj instrukcje dotyczące testowania weryfikacji.
Zapoznaj się z instrukcjami dodawania treści do publikacji.
Dodatkowe materiały
MCT należy używać w połączeniu z aplikacjami, które implementują interfejsy API multimediów. Przykład takiej aplikacji znajdziesz w artykule Universal Android Music Player.
Poprawki błędów i ulepszenia są zawsze mile widziane. Zapoznaj się z instrukcjami udostępniania treści.