Wprowadzenie do Jetpack Media3

Jetpack Media3 to nowe centrum bibliotek multimediów, które umożliwia aplikacjom na Androida wyświetlanie bogatych treści audio i wideo. Media3 oferuje prostą architekturę z dużymi możliwościami dostosowywania, niezawodnością i optymalizacjami w zależności od możliwości urządzeń, co pozwala eliminować złożoność, która wiąże się z fragmentacją.

Ten dokument zawiera wprowadzenie do kluczowych interfejsów API do implementowania odtwarzania i edytowania przypadków użycia w Media3.

Komponenty odtwarzania

Media3 obejmuje kilka kluczowych komponentów związanych z odtwarzaniem. Klasy tworzące te komponenty będą Ci znane, jeśli zdarzyło Ci się już pracować z wcześniejszymi bibliotekami multimediów na Androida.

Poniższy diagram przedstawia, jak te komponenty łączą się ze sobą w typowej aplikacji.

Różne komponenty aplikacji do multimediów, która korzysta z Media3, łączą się ze sobą na kilka prostych sposobów dzięki współdzieleniu interfejsów i klas.
Ilustracja 1.: komponenty aplikacji do multimediów

Odtwarzacz

Odtwarzacz to element aplikacji, który umożliwia odtwarzanie plików multimedialnych. Na stronie Media3 znajdziesz:

Zajęcia Description Uwagi o wdrażaniu
Player Player to interfejs określający tradycyjne ogólne funkcje odtwarzacza, takie jak odtwarzanie, wstrzymywanie i wyszukiwanie. W Media3 interfejs Player to typowy interfejs API zaimplementowany lub używany przez kilka komponentów, w tym na przykład MediaSession i MediaController.
ExoPlayer ExoPlayer jest domyślną implementacją interfejsu Player w Media3.

Więcej informacji o Media3 ExoPlayer

Sesja multimediów

Sesja multimediów to uniwersalny sposób na interakcję z odtwarzaczem. Dzięki temu aplikacja może reklamować odtwarzanie multimediów w źródłach zewnętrznych i otrzymywać żądania sterowania odtwarzaniem ze źródeł zewnętrznych. Na stronie Media3 znajdziesz:

Zajęcia Description Uwagi o wdrażaniu
MediaSession Sesje multimediów umożliwiają aplikacji interakcję z odtwarzaczem audio lub wideo. Reklamują odtwarzanie multimediów na zewnątrz i otrzymują polecenia odtwarzania ze źródeł zewnętrznych. W Media3 MediaSession potrzebuje Player do wykonywania poleceń i uzyskiwania bieżącego stanu.
MediaSessionService Aby umożliwić odtwarzanie w tle, MediaSessionService przechowuje sesję multimediów i powiązany z nią odtwarzacz w usłudze innej niż główny Activity aplikacji.
MediaController Klasa MediaController jest zwykle używana do wysyłania poleceń spoza aplikacji, na przykład z innych aplikacji lub samego systemu. Polecenia są wysyłane do bazowego zasobu (Player) powiązanego elementu MediaSession. Klasa MediaController implementuje interfejs Player, ale podczas wywoływania metody polecenie jest wysyłane do połączonego z nim MediaSession. Aplikacje klienckie, takie jak Asystent Google, mogą używać MediaController do sterowania odtwarzaniem w połączonej sesji.
MediaLibraryService MediaLibraryService jest podobny do MediaSessionService, z tym że zawiera dodatkowe interfejsy API, dzięki którym możesz udostępniać swoją bibliotekę treści aplikacjom klienckim.
MediaBrowser Klasa MediaBrowser umożliwia użytkownikowi poruszanie się po bibliotece treści aplikacji multimedialnej i wybieranie elementów do odtworzenia. Klasa MediaBrowser implementuje interfejs MediaController i Player. Podobnie jak MediaController, aplikacje klienckie, takie jak Android Auto, zwykle implementują MediaBrowser.

Więcej informacji o Media3 MediaSession

Komponenty interfejsu

Media3 udostępnia domyślne komponenty interfejsu do wyświetlania filmów i sterowania odtwarzaniem.

Zajęcia Description Uwagi o wdrażaniu
PlayerView Domyślny View do wyświetlania filmów i elementów sterujących odtwarzaniem. Łączy się z ExoPlayer, MediaController lub dowolnym innym niestandardowym elementem Player.

Więcej informacji o interfejsie Media3

Edytowanie komponentów

Media3 obejmuje interfejsy Transformer API do edycji multimediów, w tym:

  • przetwarzanie dźwięku i obrazu, np. dodawanie filtrów i efektów;
  • obsługę formatów specjalnych, takich jak filmy HDR i filmy w zwolnionym tempie;
  • kompozycji, na przykład łączenia kilku plików wejściowych.
  • Eksportowanie gotowych danych wyjściowych do pliku
Zajęcia Description Uwagi o wdrażaniu
Transformer Klasa Transformer służy do uruchamiania i zatrzymywania przekształceń oraz do sprawdzania aktualizacji postępów w ich realizacji.
Effects Obiekt Effects to kolekcja efektów audio i wideo, które można zastosować do elementu multimedialnego.
EditedMediaItem EditedMediaItem reprezentuje element multimedialny, który ma zostać przetworzony, oraz zmiany, które mają być do niego zastosowane. Za pomocą funkcji ExoPlayer możesz wyświetlić podgląd efektów dodanych do elementu multimedialnego przed rozpoczęciem procesu eksportowania.

Więcej informacji o Media3 Transformer

Film wprowadzający

Obejrzyj poniższy film, by poznać Media3 twórców, którzy ją stworzyli.