В Media3 1.10 добавлены новые функции, исправлены ошибки и улучшены существующие функции, в том числе виджеты воспроизведения на основе Material3, расширенная поддержка форматов в ExoPlayer и улучшенная регулировка скорости при экспорте медиафайлов с помощью Transformer. Подробную информацию об изменениях можно найти в полной версии примечаний к выпуску.
Интерфейс воспроизведения и Compose
Мы продолжаем расширять модуль media3-ui-compose-material3, чтобы вам было проще создавать интерфейсы Compose для воспроизведения.
Мы добавили новый composable-функцию проигрывателя, который сочетает ContentFrame с настраиваемыми элементами управления воспроизведением. В результате вы получаете готовый виджет проигрывателя с современным интерфейсом.
В этой версии также добавлен компонент 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 теперь поддерживает бинауральный вывод через декодер viaiamf_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-framemodule и обновите импорт до androidx.media3.inspector.frame.FrameExtractor.
- Мы также перенесли эффект LottieOverlay в отдельный модуль media3-effect-lottie. Напоминаем, что эта функция позволяет легко добавлять векторную анимацию Lottie непосредственно в кадры видео.
Если вы обнаружите ошибку, у вас возникнут вопросы или вы захотите запросить добавление новой функции, свяжитесь с нами через систему отслеживания ошибок. Мы с нетерпением ждем ваших отзывов!
-
Новости продуктовУ разработчиков Android есть множество вариантов выбора агентов, больших языковых моделей (LLM), инструментов и интерфейсов командной строки (CLI), которые можно использовать для разработки приложений. Наша цель – помочь вам создавать красивые и качественные приложения для Android, независимо от того, как вы это делаете.
Simona Milanovic • Время на чтение: 4 минуты -
Новости продуктовМы постоянно расширяем возможности платформы подписок в Google Play, чтобы помочь вам развивать бизнес, адаптироваться к новым бизнес-моделям и привлекать пользователей.
Sheenam Mittal • Время на чтение: 4 минуты -
Новости продуктовВ прошлом году мы открыли Android Studio для любых моделей ИИ. Сегодня мы делаем следующий шаг и добавляем поддержку агентов для написания кода.
Matthew Warner • Время на чтение: 3 минуты
Получайте свежие новости о разработке приложений для Android на свою электронную почту каждую неделю.