Nowości dotyczące usług

Media3 1.10 już dostępne

2 minuty czytania
Andrew Lewis
Inżynier oprogramowania

Media3 1.10 zawiera nowe funkcje, poprawki błędów i ulepszenia, w tym widżety odtwarzania oparte na Material3, rozszerzoną obsługę formatów w ExoPlayer oraz ulepszone dostosowywanie prędkości podczas eksportowania multimediów za pomocą Transformer. Aby dowiedzieć się więcej, przeczytaj ten artykuł. Pełną listę zmian znajdziesz w informacjach o wersji.

Interfejs odtwarzania i Compose

Stale rozwijamy moduł media3-ui-compose-material3, aby ułatwić Ci tworzenie interfejsów Compose do odtwarzania.

Dodaliśmy nowy element kompozycyjny Player, który łączy ContentFrame z konfigurowalnymi elementami sterującymi odtwarzaniem. Dzięki temu otrzymujesz gotowy widżet odtwarzacza z nowoczesnym interfejsem.

Ta wersja zawiera też element kompozycyjny ProgressSlider, który wyświetla postęp odtwarzania i umożliwia przewijanie za pomocą gestów przeciągania i klikania. Do zarządzania prędkością odtwarzania w podstawowym module media3-ui-compose dodaliśmy nowy element PlaybackSpeedControl, a w module Material 3 – stylizowany element PlaybackSpeedToggleButton.

W kolejnych wersjach Media3 będziemy dodawać nowe funkcje, takie jak narzędzia do wybierania ścieżek, obsługa napisów i więcej opcji dostosowywania. Chętnie poznamy Twoją opinię, więc podziel się swoimi przemyśleniami w narzędziu do śledzenia problemów z projektem issue tracker.

large_media31.102.jpeg
 Element kompozycyjny Player w aplikacji w wersji demonstracyjnej Media3 Compose

Ulepszenia funkcji odtwarzania

Media3 1.10 zawiera różne dodatki i ulepszenia w modułach odtwarzania:

  • Obsługa formatów: ExoPlayer obsługuje teraz wyodrębnianie ścieżek Dolby Vision Profile 10 i Versatile Video Coding (VVC) w kontenerach MP4. W decoder_mpeghextension wprowadziliśmy obsługę menedżera interfejsu MPEG-H. Rozszerzenie IAMF obsługuje teraz bezproblemowe wyjście binauralne za pomocą dekodera viaiamf_tools lub przestrzennego dźwięku systemu operacyjnego Android. Dodaliśmy też nową logikę dopasowywania układu wyjścia głośników.
  • Odtwarzanie reklam: ulepszyliśmy niezawodność, dodaliśmy obsługę reklam pełnoekranowych HLS dla X-PLAYOUT-LIMIT i X-SNAP, a dzięki najnowszej zależności IMA SDK możesz określić, czy adresy URL przekierowujące po kliknięciu reklamy mają się otwierać w kartach niestandardowych za pomocą setEnableCustomTabs.

HLS: ExoPlayer umożliwia teraz powrót do lokalizacji w przypadku błędów wczytywania, jeśli dostępne są nadmiarowe strumienie z różnych lokalizacji.

  • Sesja: MediaSessionService rozszerza teraz LifecycleService, co umożliwia aplikacjom dostęp do zakresu cyklu życia usługi.

W tym roku skupiamy się przede wszystkim na wydajności i skuteczności odtwarzania. Media3 1.10 zawiera eksperymentalną obsługę planowania głównej pętli odtwarzania w bardziej efektywny sposób. Możesz to wypróbować, włączając experimentalSetDynamicSchedulingEnabled() za pomocą ExoPlayer.Builder. W przyszłych wersjach planujemy wprowadzić kolejne ulepszenia, więc bądź na bieżąco.

Edytowanie multimediów i Transformer

Deweloperom tworzącym funkcje edytowania multimediów udostępniliśmy bardziej niezawodne dostosowywanie prędkości. EditedMediaItem.Builder.setFrameRate() może teraz ustawiać maksymalną liczbę klatek na sekundę w przypadku filmów. Jest to szczególnie przydatne do kontrolowania rozmiaru wyjściowego i utrzymywania wydajności podczas zwiększania prędkości multimediów za pomocą setSpeed().

Nowe moduły do wyodrębniania klatek i stosowania efektów Lottie

W tej wersji podzieliliśmy niektóre funkcje na nowe moduły, aby zmniejszyć zakres niektórych zależności:

 

  • FrameExtractor został usunięty z głównego modułu media3-inspector, więc przenieś kod, aby korzystać z nowego modułu media3-inspector-frame, i zaktualizuj importy doandroidx.media3.inspector.frame.FrameExtractor.
  • Przenieśliśmy też efektLottieOverlaydo osobnego modułu media3-effect-lottie. Przypominamy, że dzięki temu możesz w prosty sposób stosować animacje Lottie oparte na wektorach bezpośrednio do klatek wideo.

Jeśli napotkasz błędy lub masz pytania albo prośby o dodanie funkcji, skontaktuj się z nami za pomocą narzędzia do śledzenia problemów. Czekamy na wiadomość od Ciebie!

Autor:

Czytaj dalej