# androidx-media3-source **Repository Path**: ssxiong/androidx-media3-source ## Basic Information - **Project Name**: androidx-media3-source - **Description**: AndroidX Media3 1.10.0 source code - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-02 - **Last Updated**: 2026-04-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AndroidX Media AndroidX Media 是一组用于实现 Android 媒体功能的库集合,包括本地播放(通过 ExoPlayer)、视频编辑(通过 Transformer)和媒体会话。 ## 文档 * [开发者指南][] 提供丰富的信息。 * [类参考文档][] 记录了所有类和方法。 * [发布说明][] 记录了每个版本的主要变更。 * [媒体开发中心][] 提供示例和指南。 * 关注我们的 [开发者博客][] 了解最新动态! [开发者指南]: https://developer.android.com/guide/topics/media/media3 [类参考文档]: https://developer.android.com/reference/androidx/media3/common/package-summary [发布说明]: RELEASENOTES.md [媒体开发中心]: https://developer.android.com/media [开发者博客]: https://medium.com/google-exoplayer ## 从 ExoPlayer 和 MediaSession 项目迁移 你可以在 developer.android.com 上找到 [现有 ExoPlayer 和 MediaSession 用户的迁移指南][]。 [现有 ExoPlayer 和 MediaSession 用户的迁移指南]: https://developer.android.com/guide/topics/media/media3/getting-started/migration-guide ## API 稳定性 AndroidX Media 版本提供 API 稳定性保证,确保最常用 API 的向后兼容性。面向高级用例的 API 标记为不稳定。要在没有 lint 警告的情况下使用不稳定的方法或类,需要在调用前添加 OptIn 注解。详见 [UnstableApi][] 文档。 [UnstableApi]: https://github.com/androidx/media/blob/main/libraries/common/src/main/java/androidx/media3/common/util/UnstableApi.java ## 使用这些库 你可以从 [Google Maven 仓库][] 获取这些库,也可以克隆本仓库并本地依赖模块。 [Google Maven 仓库]: https://developer.android.com/studio/build/dependencies#google-maven ### 从 Google Maven 仓库 #### 1. 添加模块依赖 使用 AndroidX Media 最简单的方式是在 app 模块的 `build.gradle.kts` 文件中添加 gradle 依赖。 例如,要依赖支持 DASH 播放和 UI 组件的 ExoPlayer: ```kotlin implementation("androidx.media3:media3-exoplayer:1.X.X") implementation("androidx.media3:media3-exoplayer-dash:1.X.X") implementation("androidx.media3:media3-ui:1.X.X") ``` 或 Gradle Groovy DSL 的 `build.gradle`: ```groovy implementation 'androidx.media3:media3-exoplayer:1.X.X' implementation 'androidx.media3:media3-exoplayer-dash:1.X.X' implementation 'androidx.media3:media3-ui:1.X.X' ``` 其中 `1.X.X` 为你需要的版本。所有模块必须使用相同版本。 更多信息请查看 [AndroidX Media3 developer.android.com 页面][],包括完整的模块列表。 本仓库中包含一些依赖外部库的模块,这些外部库需要手动构建,无法从 Maven 仓库获取。详情请查看 [libraries 目录][] 下各模块的 README。 [AndroidX Media3 developer.android.com 页面]: https://developer.android.com/jetpack/androidx/releases/media3#declaring_dependencies [libraries 目录]: libraries #### 2. 开启 Java 8 支持 如果尚未开启,需要在所有依赖 AndroidX Media 的 `build.gradle.kts` 文件中开启 Java 8 支持,在 `android` 配置块中添加: ```kotlin compileOptions { targetCompatibility = JavaVersion.VERSION_1_8 } ``` 或 Gradle Groovy DSL 的 `build.gradle`: ```groovy compileOptions { targetCompatibility JavaVersion.VERSION_1_8 } ``` ### 本地依赖 使用某些库时需要克隆仓库并本地依赖。如果你想进行本地修改或使用 `main` 分支,这也是合适的方式。 首先,克隆仓库到本地目录: ```sh git clone https://github.com/androidx/media.git ``` 然后,在项目的 `settings.gradle.kts` 文件中添加以下内容,将 `path/to/media` 替换为你的本地路径: ```kotlin (gradle as ExtensionAware).extra["androidxMediaModulePrefix"] = "media3-" apply(from = file("path/to/media/core_settings.gradle")) ``` 或 Gradle Groovy DSL 的 `settings.gradle`: ```groovy gradle.ext.androidxMediaModulePrefix = 'media3-' apply from: file("path/to/media/core_settings.gradle") ``` 现在你应该能看到 AndroidX Media 模块出现在项目中。你可以在 `build.gradle.kts` 中像依赖其他本地模块一样依赖它们: ```kotlin implementation(project(":media3-lib-exoplayer")) implementation(project(":media3-lib-exoplayer-dash")) implementation(project(":media3-lib-ui")) ``` 或 Gradle Groovy DSL 的 `build.gradle`: ```groovy implementation project(':media3-lib-exoplayer') implementation project(':media3-lib-exoplayer-dash') implementation project(':media3-lib-ui') ``` #### MIDI 模块 默认情况下,[MIDI 模块](libraries/decoder_midi) 作为本地依赖是禁用的,因为它需要额外的 Maven 仓库配置。如果要作为本地依赖使用,请按 [模块 README 中的说明](libraries/decoder_midi/README.md#getting-the-module) 配置 JitPack 仓库,然后在 `settings.gradle.kts` 中启用该模块: ```kotlin gradle.extra.apply { set("androidxMediaEnableMidiModule", true) } ``` 或 Gradle Groovy DSL 的 `settings.gradle`: ```groovy gradle.ext.androidxMediaEnableMidiModule = true ``` ## 开发 AndroidX Media #### 项目分支 开发工作在 `main` 分支进行。Pull Request 通常应提交到此分支。 `release` 分支保存最近的稳定发布版本。 #### 使用 Android Studio 使用 Android Studio 开发 AndroidX Media,只需打开本仓库根目录即可。