1. 大家常用的ExoPlayer地址:GitHub - google/ExoPlayer: An extensible media player for Android
ExoPlayer是谷歌官方提供的媒体播放库,大家在开发项目中经常使用ExoPlayer播放音视频,谷歌官方已经明确表示该库在2024-04-03停止更新,建议大家更新到Media3去
官方声明:
升级还有几点好处:
为何要迁移到 Jetpack Media3
- 它是 ExoPlayer 的新家,而
com.google.android.exoplayer2
已停用。- 使用
MediaBrowser
/MediaController
跨组件/进程访问 Player API。- 使用
MediaSession
和MediaController
API 的扩展功能。- 通过精细的访问权限控制通告播放功能。
- 通过移除
MediaSessionConnector
和PlayerNotificationManager
简化应用。- 与 media-compat 客户端 API 向后兼容 (
MediaBrowserCompat
/MediaControllerCompat
/MediaMetadataCompat
)
2. 既然官方建议升级到Media3,我们接下来就研究下如何升级
首先 Media3 github: https://github.com/androidx/media
Media3 在谷歌Developer官方文档也有详细的说明:https://developer.android.com/media/media3?hl=zh-cn
3.如果目前项目中已经在使用ExoPlayer2了,接下来要做的就是升级到media3
3.1升级可以手动升级就是把目前项目用引入的exoplayer:exoplayer库和相关的代码移除掉,然后把media3-exoplayer的库引入,把之前Exopler播放音视频的地方更换成使用media3对应的方法去实现
3.2 使用Google 官方提供的脚本去升级:https://developer.android.com/media/media3/exoplayer/migration-guide?hl=zh-cn
目前使用独立 com.google.android.exoplayer2
库和 androidx.media
的应用应迁移到 androidx.media3
。使用迁移脚本将 Gradle build 文件、Java 和 Kotlin 源文件以及 XML 布局文件从 ExoPlayer 2.19.1
迁移到 AndroidX Media3 1.1.1
。