Aplikacje do multimediów, które komunikują się głosowo z Asystentem Google na telefonach z Androidem, w samochodach, telewizorach i słuchawkach, korzystają z interfejsów API sesji multimedialnych na Androidzie i używają działań multimedialnych. Cykl życia działania związanego z multimediami może być trudny do śledzenia. Nawet proste żądanie odtworzenia z wyszukiwarki ma wiele etapów pośrednich, na których coś może pójść nie tak, jak pokazano na uproszczonej osi czasu:
Aplikacja Media Controller Test (MCT) umożliwia testowanie złożonych aspektów odtwarzania multimediów na Androidzie i pomaga zweryfikować implementację sesji multimedialnej.
Aplikacja Media Controller Test jest dostępna w 2 wersjach:
- Aplikacja kliencka jest zaimplementowana na starszej wersji
MediaControllerCompat. Umożliwia to testowanie aplikacji sesji multimedialnej utworzonej na podstawie starszej wersjiMediaSessionCompatlub Media3MediaSession, gdy jest ona używana przez aplikację zewnętrzną za pomocą starszej wersjiMediaControllerCompat. Kod źródłowy starszej wersji znajdziesz na GitHubie. - Aplikacja kliencka jest zaimplementowana na podstawie najnowszej wersji Media3
MediaController. Umożliwia to testowanie aplikacji sesji multimedialnej utworzonej na podstawie starszej wersjiMediaSessionCompatlub Media3MediaSession, gdy jest ona używana przez aplikację zewnętrzną za pomocą Media3MediaController. Kod źródłowy wersji Media3 znajdziesz na GitHubie.
Narzędzie MCT wyświetla informacje o MediaController aplikacji, takie jak PlaybackState i metadane. Można go używać do testowania opcji sterowania multimediami między aplikacjami.
MCT zawiera też platformę testów weryfikacyjnych, która umożliwia automatyzację testów kontroli jakości.
Aby korzystać z MCT, aplikacja musi mieć usługę przeglądarki multimediów i musisz zezwolić MCT na łączenie się z nią. Więcej informacji znajdziesz w artykule o tworzeniu usługi przeglądania multimediów.
Uruchamianie MCT
Po uruchomieniu narzędzia MCT zobaczysz 2 listy:
- Aktywne sesje MediaSession – po uruchomieniu MCT ta lista jest początkowo pusta i wyświetla się komunikat „Nie znaleziono aplikacji do multimediów. Do skanowania aktywnych sesji multimedialnych wymagane jest uprawnienie do nasłuchiwania powiadomień”. Kliknij Ustawienia, aby przejść do ekranu uprawnień i włączyć uprawnienia dla narzędzia MCT.
- Implementacje MediaBrowserService – ta lista zawiera aplikacje, które wdrożyły usługę MediaBrowserService. Jeśli masz wdrożoną usługę przeglądarki multimediów, Twoja aplikacja pojawi się na tej liście, ale możesz używać MCT tylko wtedy, gdy aplikacja jest skonfigurowana tak, aby akceptować wszystkie połączenia, lub gdy MCT jest na liście dozwolonych. Więcej informacji znajdziesz w sekcji Kontrolowanie połączeń klientów za pomocą onGetRoot().
Ręczne testowanie aplikacji na telefon
Jeśli zezwolisz MCT na połączenie z usługą przeglądarki multimediów w aplikacji, aplikacja pojawi się na liście implementacji usługi przeglądarki multimediów. Znajdź ją tam i kliknij Sterowanie, aby uruchomić aplikację w tle.
W przeciwnym razie musisz najpierw samodzielnie uruchomić aplikację w tle, a następnie kliknąć Sterowanie, gdy pojawi się ona na liście aktywnych sesji multimedialnych.
Testowanie przygotowania i odtwarzania
Gdy MCT zacznie kontrolować aplikację, wyświetli metadane bieżącej sesji aplikacji: aktualnie wybrane multimedia i działania, które sesja jest przygotowana do obsługi.
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 określić 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 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
Dobrze działająca aplikacja do multimediów powinna być w stanie obsługiwać fokus audio. Możesz przetestować fokus audio, uruchamiając inną aplikację audio obok swojej aplikacji. Strona sterowania MCT zawiera przycisk, który żąda i zwalnia fokus audio.
Aby przetestować zaznaczenie dźwięku, wykonaj te czynności:
- W menu Skupienie na dźwięku wybierz jedną z 3 wskazówek dotyczących czasu trwania:
AUDIOFOCUS_GAIN,AUDIOFOCUS_GAIN_TRANSIENTlubAUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK. - Naciśnij przycisk, aby poprosić o ustawienie ostrości.
- Naciśnij przycisk ponownie, aby odznaczyć.
Testowanie elementów sterujących transportem
Przesuń palcem w lewo, aby wyświetlić widok interfejsu MCT. Ten widok zawiera standardowe przyciski sterowania multimediami oraz obraz i dane programu sesji. Wyłączone przyciski transportu są zaznaczone pomarańczowym kółkiem. Wszystkie pozostałe są aktywne.
Przetestuj odtwarzacz za pomocą przycisków transportu. Stan przycisków transportu powinien się zmieniać zgodnie z oczekiwaniami. Na przykład po naciśnięciu przycisku ODTWÓRZ powinien on zostać wyłączony, a przyciski WSTRZYMAJ i ZATRZYMAJ powinny zostać włączone.
Przesuń palcem w lewo jeszcze raz, aby wyświetlić opcjonalne działania. Każde działanie ma element sterujący, który pokazuje, czy jest ono aktywne. Jeśli jest aktywny, możesz wykonać działanie, klikając go.
Jeśli połączysz się z listy aplikacji, które mają usługę przeglądarki multimediów, możesz przesunąć palcem w lewo jeszcze 2 razy, aby wyświetlić widoki, które umożliwiają poruszanie się w górę i w dół hierarchii treści aplikacji lub przeszukiwanie drzewa treści.
Ręczne testowanie aplikacji wideo
Użyj trybu podzielonego ekranu, aby przetestować kontrolery aplikacji wideo. Najpierw otwórz aplikację do rozmów wideo w jednym oknie, a następnie otwórz MCT w trybie podzielonego ekranu.
Przeprowadzanie testów weryfikacyjnych
Platforma testów weryfikacyjnych oferuje testy, które można uruchomić jednym kliknięciem, aby upewnić się, że aplikacja do multimediów prawidłowo reaguje na żądanie odtwarzania.
Testowanie aplikacji na telefonie
Aby uzyskać dostęp do testów weryfikacyjnych, kliknij przycisk Testuj obok aplikacji do multimediów.
Stan MCT
W następnym widoku zobaczysz szczegółowe informacje o MediaController MCT, na przykład PlaybackState, metadane i kolejkę. W prawym górnym rogu paska narzędzi
znajdują się 2 przyciski. Przycisk po lewej stronie przełącza między logami możliwymi do przeanalizowania i sformatowanymi. Przycisk po prawej stronie odświeża widok, aby wyświetlić najbardziej aktualne informacje.
Wybieranie testu
Przesuwając palcem w lewo, przejdziesz do widoku testów weryfikacyjnych, gdzie zobaczysz przewijaną listę dostępnych testów. Jeśli test używa zapytania, jak w przypadku testu odtwarzania z wyszukiwania pokazanego na rysunku 7, dostępne jest pole tekstowe, w którym można wpisać ciąg zapytania.
MCT obejmuje testy tych działań związanych z multimediami, a do projektu stale dodawane są kolejne:
- Odtwórz
- Odtwarzanie z wyszukiwań
- Odtwarzanie z identyfikatora multimediów
- Odtwórz z identyfikatora URI
- Wstrzymaj
- Zatrzymaj
- Dalej
- Wstecz
- Przejdź do elementu w kolejce
- Przewiń do
Wyniki testów
Obszar wyników u dołu widoku jest początkowo pusty. Po uruchomieniu testu wyświetlą się wyniki. Aby na przykład przeprowadzić test odtwarzania z wyszukiwania, wpisz zapytanie w polu tekstowym i kliknij Uruchom test. Zrzut ekranu poniżej pokazuje wynik testu, który zakończył się powodzeniem.
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 implementuje usługę przeglądarki multimediów.
Po wybraniu aplikacji otworzy się ekran testowania, na którym po prawej stronie wyświetla się lista testów weryfikacyjnych.
Po uruchomieniu testu po lewej stronie ekranu wyświetlają się informacje o wybranym kontrolerze MediaController. Więcej informacji znajdziesz w logach MCT w Logcat.
Testy, które wymagają zapytania, są oznaczone ikoną klawiatury. Kliknięcie jednego z tych testów otwiera pole do wprowadzania danych zapytania. Aby uruchomić test, naciśnij Enter.
Aby ułatwić wprowadzanie 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 tekst „hello world” do pola do wprowadzania danych.
adb shell input text hello%sworld
Tworzenie testu
Możesz przesłać żądanie pull z dodatkowymi testami, które Twoim zdaniem są przydatne. Aby dowiedzieć się, jak tworzyć nowe testy, odwiedź MCT GitHub Wiki i zapoznaj się z instrukcjami dotyczącymi testów weryfikacyjnych.
Więcej informacji znajdziesz w instrukcjach dotyczących przesyłania treści.
Dodatkowe materiały
Narzędzie MCT jest przeznaczone do używania w połączeniu z aplikacjami, które implementują interfejsy API multimediów. Przykładem takiej aplikacji jest Universal Android Music Player.
Poprawki błędów i ulepszenia są zawsze mile widziane. Zapoznaj się z instrukcjami dotyczącymi przesyłania treści.