Aplikacje multimedialne, które za pomocą głosu współpracują z Asystentem Google na telefonach, samochodach, telewizorach i słuchawkach z Androidem, korzystają z interfejsów API sesji multimediów Androida i używają działań multimedialnych. Cykl życia akcji dotyczącej multimediów może być trudny do śledzenia. Nawet proste odtworzenie z zapytania wyszukiwania wymaga wielu pośrednich kroków, w których może coś pójść nie tak, jak pokazano na uproszczonej osi czasu:
Aplikacja Media Controller Test (MCT) umożliwia testowanie złożonych funkcji odtwarzania multimediów na Androidzie i pomaga weryfikować implementację sesji multimediów.
Aplikacja Media Controller Test jest dostępna w 2 wersjach:
- Aplikacja kliencka jest implementowana na podstawie starszej wersji
MediaControllerCompat
. Umożliwia to testowanie aplikacji sesji multimediów opartej na starszej wersjiMediaSessionCompat
lub Media3MediaSession
, gdy zewnętrzna aplikacja uzyskuje do niej dostęp za pomocą starszej wersjiMediaControllerCompat
. Znajdź kod źródłowy starszej wersji na GitHubie. - Aplikacja kliencka jest implementowana na podstawie najnowszej wersji Media3
MediaController
. Dzięki temu możesz przetestować aplikację sesji multimedialnej utworzoną na podstawie starszej wersjiMediaSessionCompat
lub Media3MediaSession
, gdy zewnętrzna aplikacja uzyskuje do niej dostęp przez Media3MediaController
. Znajdź na GitHubie kod źródłowy wersji Media3.
MCT udostępnia informacje o MediaController
aplikacji, takie jak PlaybackState
i metadane. Można go też używać do testowania elementów sterujących multimediami w aplikacji.
MCT obejmuje też ramy weryfikacji, które umożliwiają automatyzację testów jakości.
Aby korzystać z MCT, aplikacja musi mieć usługę przeglądarki multimediów i musisz zezwolić MCT na połączenie z nią. Więcej informacji znajdziesz w artykule Tworzenie usługi przeglądarki multimediów.
Uruchamianie MCT

Po uruchomieniu narzędzia MCT zobaczysz 2 listy:
- Aktywne sesje multimediów – ta lista jest początkowo pusta, gdy uruchomisz MCT. Wyświetli się wtedy komunikat „Nie znaleziono żadnych aplikacji multimedialnych. Pozwolenie na wyświetlanie powiadomień Listener jest wymagane do skanowania w celu wykrywania aktywnych sesji multimediów. Kliknij Ustawienia, aby przejść do ekranu uprawnień i zezwolić na dostęp do MCT.
- Implementacje MediaBrowserService – ta lista zawiera aplikacje, które mają zaimplementowaną usługę przeglądarki multimediów. Jeśli masz zaimplementowaną usługę przeglądarki multimediów, Twoja aplikacja pojawi się na tej liście, ale możesz korzystać z MCT tylko wtedy, gdy skonfigurujesz aplikację tak, aby akceptowała wszystkie połączenia lub dodasz MCT do listy dozwolonych. Więcej informacji znajdziesz w artykule Kontrolowanie połączeń klienta za pomocą funkcji onGetRoot().
Ręczne testowanie aplikacji na telefon
Jeśli zezwolisz MCT na połączenie z usługą przeglądarki multimediów w aplikacji, Twoja aplikacja pojawi się na liście implementacji usług przeglądarki multimediów. Znajdź ją i kliknij Zarządzaj, aby uruchomić aplikację w tle.
W przeciwnym razie musisz najpierw uruchomić aplikację w tle, a potem kliknąć Zarządzaj, gdy pojawi się ona na liście aktywnych sesji multimedialnych.
Testowanie funkcji przygotowywania i odtwarzania
Gdy MCT zacznie kontrolować aplikację, wyświetli metadane bieżącej sesji aplikacji: obecnie wybrane media i działania, które sesja jest w stanie obsłużyć.

U góry strony ustawień MCT znajduje się menu, w którym możesz wybrać Wyszukiwanie, Identyfikator URI, Identyfikator multimediów lub Brak, a także pole tekstowe, w którym możesz podać dane wejściowe powiązane z wyszukiwaniem, identyfikatorem URI lub identyfikatorem multimediów (jeśli wybierzesz jedną z tych opcji).
Przyciski Przygotuj i Odtwórz znajdujące się tuż pod polem tekstowym wykonują odpowiednie wywołania (onPrepare()
, onPrepareFromSearch()
, onPrepareFromUri()
, onPrepareFromMediaId()
, onPlay()
, onPlayFromSearch()
, onPlayFromUri()
, onPlayFromMediaId()
) w zależności od wybranego działania.
Testowanie aktywności audio
Prawidłowo działająca aplikacja do multimediów powinna obsługiwać fokusowanie dźwięku. Możesz przetestować funkcję dźwięku w tle, uruchamiając inną aplikację audio w tym samym czasie. Na stronie ustawień MCT znajduje się przycisk, który umożliwia żądanie i zwolnienie dźwięku w tle.
Aby przetestować funkcję skupienia dźwięku, wykonaj te czynności:
- W menu Koncentracja na dźwięku wybierz jeden z 3 wskazówek dotyczących czasu trwania:
AUDIOFOCUS_GAIN
,AUDIOFOCUS_GAIN_TRANSIENT
lubAUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK
. - Naciśnij przycisk, aby poprosić o ostrość.
- Naciśnij przycisk jeszcze raz, aby wyłączyć tryb skupienia.
Testowanie elementów sterujących transportem

Przesuń w lewo, aby wyświetlić interfejs MCT. Ten widok zawiera standardowe przyciski sterowania multimediami oraz obraz i dane programu. Przyciski transportu, które są wyłączone, są zaznaczone na pomarańczowo. Wszystkie pozostałe są aktywne.
Przetestuj odtwarzacz za pomocą przycisków transportu. Stan przycisków transportu powinien się zmienić zgodnie z oczekiwaniami. Na przykład po naciśnięciu przycisku ODTWÓRZ przycisk ten powinien zostać wyłączony, a przyciski WSCISNIJ i ZATRZYMAJ powinny zostać włączone.
Ponownie przesuń palcem w lewo, aby wyświetlić widok z opcjonalnymi działaniami. Każde działanie ma element sterujący, który wskazuje, czy jest aktywne. Jeśli jest aktywny, możesz wykonać działanie, klikając go.
Jeśli połączysz się z aplikacją z listy aplikacji z przeglądarką multimediów, możesz przesunąć palcem w lewo jeszcze 2 razy, aby wyświetlić widoki, które umożliwiają poruszanie się po hierarchii treści w aplikacji lub wyszukiwanie w drzewie treści.
Ręczne testowanie aplikacji do tworzenia filmów
Użyj trybu podzielonego ekranu, aby przetestować kontrolery aplikacji do filmów. Najpierw otwórz aplikację do oglądania filmów w jednym oknie, a potem otwórz MCT w trybie podzielonego ekranu.
Przeprowadzanie testów weryfikacji
Platforma testowania weryfikacji oferuje testy z jednym kliknięciem, które możesz wykonać, aby mieć pewność, że Twoja aplikacja multimedialna prawidłowo reaguje na prośbę o odtworzenie.
Testowanie aplikacji na telefon

Aby uzyskać dostęp do testów weryfikacji, kliknij przycisk Test obok aplikacji multimedialnej.
Stan MCT

Następny widok zawiera szczegółowe informacje o MediaController
MCT, na przykład o PlaybackState
, metadanych i kole. W prawym górnym rogu paska narzędzi znajdują się 2 przyciski. Przycisk po lewej stronie umożliwia przełączanie się między logami możliwymi do zanalizowania a sformatowanymi logami. Przycisk po prawej stronie odświeża widok, aby wyświetlić najnowsze informacje.
Wybieranie testu

Przesuwając palcem w lewo, przejdziesz do widoku testów weryfikacji, w którym możesz zobaczyć przewijaną listę dostępnych testów. Jeśli test używa zapytania, np. w przypadku testu wyszukiwania na rysunku 7, jest pole tekstowe do wpisania ciągu zapytania.
MCT obejmuje testy tych działań związanych z mediami:
- Odtwórz
- Odtwarzanie z wyszukiwania
- Odtwarzanie z identyfikatorem multimediów
- Odtwarzanie z identyfikatora URI
- Wstrzymaj
- Zatrzymaj
- Dalej
- Wstecz
- Przejdź do elementu kolejki
- Przewiń do
Wyniki testu

Obszar wyników u dołu widoku jest początkowo pusty. Pokaże on wyniki, gdy przeprowadzisz test. Aby na przykład uruchomić odtwarzanie z testu wyszukiwania, wpisz zapytanie w polu tekstowym i kliknij Uruchom test. Ten zrzut ekranu przedstawia wynik testu, który zakończył się powodzeniem.
Testowanie aplikacji na Androida TV
Gdy uruchomisz MCT na Androidzie TV, zobaczysz listę zainstalowanych aplikacji multimedialnych. Pamiętaj, że aplikacja pojawi się na tej liście tylko wtedy, gdy zaimplementuje usługę przeglądarki multimediów.
Po wybraniu aplikacji pojawi się ekran testowania, na którym po prawej stronie znajdziesz listę testów weryfikacyjnych.
Gdy uruchomisz test, po lewej stronie 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 powoduje otwarcie pola wprowadzania zapytania. Aby uruchomić test, naciśnij Enter.
Aby ułatwić sobie wprowadzanie tekstu, możesz też użyć polecenia adb
:
adb shell input text your-query
Aby wstawić spację między słowami, możesz użyć znaku „%s”. Na przykład poniższe polecenie dodaje tekst „hello world” do pola wejściowego.
adb shell input text hello%sworld
Tworzenie testu
Możesz przesłać prośbę o przechwycenie z większą liczbą testów, które Twoim zdaniem są przydatne. Aby dowiedzieć się, jak tworzyć nowe testy, otwórz GitHub Wiki MCT i postępuj zgodnie z instrukcjami dotyczącymi testu weryfikacji.
Zapoznaj się ze instrukcjami dotyczącymi publikowania treści.
Dodatkowe materiały
MCT jest przeznaczony do używania w połączeniu z aplikacjami, które implementują interfejsy API multimediów. Przykładem takiej aplikacji jest uniwersalny odtwarzacz muzyki na Androida.
Zawsze chętnie przyjmujemy poprawki błędów i inne ulepszenia. Zapoznaj się z instrukcjami dotyczącymi publikowania treści.