App Updates

Media3 1.11: Enhancements and New Features for Android Media Apps

Google has released Media3 1.11, a significant update that enhances the functionality of numerous Android media applications. This version introduces a range of new features, bug fixes, and improvements that focus on playback, editing, and user interface components.

New Features and Improvements

One of the standout additions in this release is the expansion of Jetpack Compose UI modules. Developers can now utilize customizable Player slots along with user-friendly defaults, interactive gestures, state observers, and short-form video preloading through the new PlayerPool feature.

Enhanced User Interface with Material3

With the shift towards a Compose-first approach in Android development, Media3 1.11 significantly enhances the media3-ui-compose and media3-ui-compose-material3 modules. This update allows for greater control over player layouts and richer interaction patterns, deepening the integration with Material3.

  • Material 3 Player Composable: Now includes dedicated content slots for various controls such as topControls, centerControls, bottomControls, and errorOverlay. Developers can either use the provided defaults or incorporate their own Composables.
  • FocusRequester Support: The Player Composable now supports FocusRequester, facilitating seamless navigation using D-pads and keyboards across devices like Android TV, foldables, and desktops.
  • Playback Speed Control: The PlaybackSpeedState now offers a fast-forward and slow-motion API, enabling users to control playback speed through intuitive gestures.

Efficient Media Management

Managing multiple ExoPlayer instances can be challenging, particularly for apps that feature sliding-window media feeds. Media3 1.11 addresses this with the introduction of PlayerPool and rememberPooledPlayer, which automate player recycling and preloading.

The demo-compose app showcases the new ShortFormPlayerScreen, which implements a vertically scrolling feed that efficiently manages player instances, allowing for smooth transitions as users navigate through content.

New Composables and Features

Media3 1.11 also introduces the MiniController Composable, a compact playback bar that displays essential information such as the current item’s title, artist, artwork, and playback progress. This Composable supports Material3 Dynamic Color integration, adapting its appearance to the user’s wallpaper theme.

Streamlined Casting Experience

The update includes enhancements to the Cast extension, allowing for programmatic configuration options and support for OS-level routing. Developers can now easily add a Media routing button, known as the Cast button, which automatically observes dialog states and updates without requiring additional logic.

  • SystemUI Output Switcher: The Cast extension can be configured to show the native SystemUI Output Switcher, providing a unified experience for selecting output devices.

Improved HDR Support

Media3 1.11 also enhances HDR playback capabilities. Eclipsa Video aims to provide a more consistent HDR experience across devices by ensuring that the creative intent is preserved through adaptive headroom adjustments based on the screen and surrounding conditions.

Additionally, ExoPlayer now supports playback of HAGC (ST 2094-50) timed metadata for progressive media formats such as MP4 and Matroska. This allows for a more enriched viewing experience on API 37+ devices, while still maintaining standard HDR playback on older devices.

New Data Source Module

A new media3-datasource-ktor extension module has been added, featuring KtorDataSource, which is built on the Ktor HTTP stack. This module provides a Kotlin-first, coroutine-friendly alternative to existing data source modules like Cronet and OkHttp.

As Media3 continues to evolve, developers are encouraged to explore these new features and provide feedback through the project issue tracker. With ongoing updates and improvements, Media3 1.11 is set to enhance the media experience on Android devices.

Source for the original facts: Original source.

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button