В Media3 1.10 добавлены новые функции, исправлены ошибки и улучшены существующие функции, включая виджеты воспроизведения на основе Material3, расширенную поддержку форматов в ExoPlayer и улучшенную регулировку скорости при экспорте медиафайлов с помощью Transformer. Ниже вы найдете подробную информацию о них. Полный список изменений приведен в примечаниях к выпуску.
Интерфейс воспроизведения и Compose
Мы продолжаем расширять модуль media3-ui-compose-material3, чтобы вам было проще создавать интерфейсы воспроизведения на основе Compose.
Мы добавили новую composable-функцию Player, которая объединяет ContentFrame с настраиваемыми элементами управления воспроизведением. Это готовый виджет проигрывателя с современным интерфейсом.
В этом выпуске также добавлена Composable-функция ProgressSlider для отображения прогресса игрока и выполнения поиска с помощью жестов перетаскивания и касания. Для управления скоростью воспроизведения в базовом модуле media3-ui-compose доступен новый элемент PlaybackSpeedControl, а в модуле Material 3 – стилизованный элемент PlaybackSpeedToggleButton.
В следующих выпусках Media3 мы продолжим добавлять новые функции, такие как утилиты для выбора треков, поддержка субтитров и дополнительные возможности настройки. Мы будем рады узнать ваше мнение. Поделитесь им в системе отслеживания ошибок.
Улучшенные функции воспроизведения
Media3 1.10 включает в себя различные дополнения и улучшения в модулях воспроизведения:
- Поддержка форматов. ExoPlayer теперь поддерживает извлечение дорожек Dolby Vision Profile 10 и Versatile Video Coding (VVC) в контейнерах MP4. Мы также добавили поддержку менеджера пользовательского интерфейса MPEG-H в decoder_mpeghextension. Расширение IAMF теперь поддерживает бинауральный вывод через декодер iamf_tools или через пространственное звучание ОС Android с новой логикой, соответствующей выходному расположению динамиков.
- Воспроизведение объявлений. Повышена надежность, улучшена поддержка межстраничных объявлений HLS для X-PLAYOUT-LIMIT и X-SNAP. Благодаря последней зависимости IMA SDK вы можете управлять тем, открываются ли URL перехода по клику в пользовательских вкладках, с помощью setEnableCustomTabs.
HLS. Теперь ExoPlayer позволяет использовать резервное местоположение при возникновении ошибок загрузки, если доступны избыточные потоки из разных местоположений.
- Сеанс. MediaSessionService теперь расширяет LifecycleService, позволяя приложениям получать доступ к области жизненного цикла сервиса.
В этом году мы уделяем особое внимание эффективности и производительности воспроизведения. В Media3 1.10 добавлена экспериментальная поддержка более эффективного планирования основного цикла воспроизведения. Чтобы попробовать эту функцию, включите experimentalSetDynamicSchedulingEnabled() в ExoPlayer.Builder. Мы планируем и дальше улучшать эту функцию в будущих выпусках. Следите за новостями!
Редактирование медиафайлов и Transformer
Для разработчиков, создающих инструменты редактирования медиа, мы улучшили настройку скорости. EditedMediaItem.Builder.setFrameRate() теперь может устанавливать максимальную частоту кадров для видео. Это особенно полезно для контроля размера выходных данных и поддержания производительности при увеличении скорости воспроизведения медиафайлов с помощью setSpeed().
Новые модули для извлечения кадров и применения эффектов Lottie.
В этом выпуске мы разделили некоторые функции на новые модули, чтобы уменьшить область действия некоторых зависимостей:
- FrameExtractor удален из основного модуля media3-inspector. Перенесите код в новый модуль media3-inspector-frame и обновите импорт до androidx.media3.inspector.frame.FrameExtractor.
- Мы также переместили эффект LottieOverlay в отдельный модуль media3-effect-lottie. Напоминаем, что это позволяет легко применять векторные анимации Lottie непосредственно к кадрам видео.
Если вы столкнулись с ошибками, у вас есть вопросы или вы хотите запросить добавление функции, свяжитесь с нами через систему отслеживания ошибок. Мы с нетерпением ждем ваших отзывов!
-
Новости о продуктахСегодня на Саммите для разработчиков Android мы объявляем о широкой доступности многих инструментов и API, которые помогут вам преодолевать повседневные трудности и дадут больше гибкости при создании отличных приложений для Android.
Matthew McCullough • Время на чтение: 4 минуты -
Новости о продуктахAndroid Studio Rabbit 2 теперь стабильна и готова к использованию в рабочей среде. В этом выпуске представлены ключевые функции, которые помогут вам в разработке, например Bring Your Own Agent, новые функции XR Emulator, обновление LeakCanary, новый инструмент управления навыками агента, код-ревью с помощью ИИ и многое другое.
Matthew Warner • Время на чтение: 3 минуты -
Новости о продуктахПриложения, предназначенные для предстоящего выпуска Android, больше не смогут напрямую записывать данные в контакты с помощью разрешения WRITE_CONTACTS.
Roxanna Aliabadi Walker • Время на чтение: 6 минут
Получайте еженедельную рассылку с последними новостями о разработке для Android.