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 ExoPlayerze i ulepszoną regulację szybkości podczas eksportowania multimediów za pomocą Transformer. Więcej informacji znajdziesz poniżej. 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 komponent Player Composable, który łączy element ContentFrame z dostosowywalnymi elementami sterującymi odtwarzaniem. Dzięki temu możesz korzystać z gotowego widżetu odtwarzacza z nowoczesnym interfejsem.
W tej wersji dodaliśmy też komponent ProgressSlider, który umożliwia wyświetlanie postępów odtwarzania i przewijanie za pomocą gestów przeciągania i kliknięcia. Do zarządzania szybkością odtwarzania w module podstawowym media3-ui-compose dostępny jest nowy element PlaybackSpeedControl, a w module Material 3 – stylizowany element PlaybackSpeedToggleButton.
W przyszłych wersjach Media3 będziemy dodawać nowe funkcje, takie jak narzędzia do wyboru ścieżki, obsługa napisów i więcej opcji dostosowywania. Chętnie poznamy Twoją opinię, więc podziel się swoimi przemyśleniami w systemie śledzenia problemów.
Ulepszenia funkcji odtwarzania
Wersja 1.10 biblioteki Media3 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. Wprowadziliśmy też obsługę menedżera interfejsu MPEG-H w module decoder_mpeghextension. Rozszerzenie IAMF obsługuje teraz bezproblemowo wyjście binauralne za pomocą dekodera viaiamf_tools lub przestrzennego procesora dźwięku systemu operacyjnego Android, z nową logiką dopasowującą układ wyjściowy głośników.
- Odtwarzanie reklam: poprawiliśmy niezawodność, ulepszyliśmy obsługę reklam pełnoekranowych HLS w przypadku X-PLAYOUT-LIMIT i X-SNAP, a dzięki najnowszej zależności pakietu IMA SDK możesz kontrolować, czy adresy URL kliknięć reklam otwierają się w kartach niestandardowych za pomocą setEnableCustomTabs.
HLS: ExoPlayer umożliwia teraz powrót do lokalizacji w przypadku napotkania błędów ładowania, jeśli dostępne są nadmiarowe strumienie z różnych lokalizacji.
- Sesja: klasa MediaSessionService rozszerza teraz klasę LifecycleService, co umożliwia aplikacjom dostęp do zakresu cyklu życia usługi.
Jednym z naszych głównych obszarów zainteresowania w tym roku jest wydajność i jakość odtwarzania. Media3 1.10 obejmuje eksperymentalną obsługę planowania głównej pętli odtwarzania w bardziej wydajny sposób. Możesz to sprawdzić, 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
Dla deweloperów tworzących funkcje edycji multimediów ulepszyliśmy dostosowywanie szybkości. Metoda EditedMediaItem.Builder.setFrameRate() może teraz ustawiać maksymalną liczbę klatek wyjściowych w przypadku filmów. Jest to szczególnie przydatne do kontrolowania rozmiaru danych wyjściowych i utrzymywania wydajności podczas zwiększania szybkości multimediów za pomocą funkcji 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:
- Klasa FrameExtractor została usunięta z głównego modułu media3-inspector, więc przenieś kod, aby korzystać z nowego modułu media3-inspector-frame, i zaktualizuj importy do androidx.media3.inspector.frame.FrameExtractor.
- Przenieśliśmy też efekt LottieOverlay do 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 filmu.
Jeśli napotkasz błędy lub masz pytania albo prośby dotyczące funkcji, skontaktuj się z nami za pomocą narzędzia do śledzenia problemów. Czekamy na wiadomość od Ciebie!
-
Wiadomości o usługachZ przyjemnością ogłaszamy stabilną wersję bibliotek AndroidX Security State 1.1.0 i Security State Provider 1.0.0.
Maunik Shah, Alec Garcia, Joseph Yong • Czas czytania: 4 minuty -
Wiadomości o usługachDziś udostępniamy pierwszy zestaw zadań długoterminowych (LHT), czyli bardzo złożonych zadań, których wykonanie zajmuje inżynierowi kilka dni, a nawet tydzień. Wprowadzamy też ocenę agentów, zaczynając od agentów od odpowiednich dostawców modeli.
Matthew McCullough • Czas czytania: 3 minuty -
Wiadomości o usługachDebugowanie bezprzewodowe na Androidzie jest teraz szybsze, bardziej niezawodne i łatwiejsze w konfiguracji niż kiedykolwiek. W przypadku ADB Wi-Fi 2.0 wprowadziliśmy nowy stos serwerów i inteligentniejsze zarządzanie siecią, aby bezpośrednio uwzględnić opinie deweloperów dotyczące luk w zakresie użyteczności.
Steven Jenkins, Sherif Eid, Fabien Sanglard • Czas czytania: 1 minuta
Otrzymuj co tydzień najnowsze informacje o tworzeniu aplikacji na Androida na swoją skrzynkę odbiorczą.