AndroidX Media 是用於在 Android 上實現媒體用例的庫集合,包括本地播放(透過 ExoPlayer)、影片編輯(透過 Transformer)和媒體會話。
您可以在developer.android.com 上找到現有ExoPlayer 和MediaSession 使用者的遷移指南。
AndroidX Media 版本提供 API 穩定性保證,確保 API 表面對最常用的 API 保持向後相容。用於更高階用例的 API 被標記為不穩定。若要使用不穩定的方法或類別而不發出 lint 警告,您需要在使用之前新增 OptIn 註解。有關更多信息,請參閱 UnstableApi 文件。
您可以從 Google Maven 儲存庫取得這些庫。還可以克隆此 GitHub 儲存庫並在本機依賴模組。
開始使用 AndroidX Media 的最簡單方法是在應用程式模組的build.gradle.kts
檔案中新增對所需程式庫的 gradle 依賴項。
例如,若要依賴具有 DASH 播放支援和 UI 元件的 ExoPlayer,您可以新增對模組的依賴項,如下所示:
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
中:
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.XX
是您的首選版本。所有模組必須是相同版本。
請參閱 AndroidX Media3 Developer.android.com 頁面以獲取更多信息,包括庫模組的完整列表。
此儲存庫包含一些依賴需要手動建置的外部庫的模組,無法從 Maven 儲存庫中取得。請參閱庫目錄下的各個自述文件以了解更多詳細資訊。
如果尚未啟用,您還需要在依賴 AndroidX Media 的所有build.gradle.kts
檔案中開啟 Java 8 支持,方法是將以下內容新增至android
部分:
compileOptions {
targetCompatibility = JavaVersion . VERSION_1_8
}
或在 Gradle Groovy DSL build.gradle
中:
compileOptions {
targetCompatibility JavaVersion . VERSION_1_8
}
如果您的 Gradle minSdkVersion
為 20 或更低,您應該啟用 multidex 以防止建置錯誤。
使用某些庫時需要克隆存儲庫並在本地依賴模組。如果您想進行本地更改,或者想使用main
分支,這也是合適的方法。
首先,將儲存庫複製到本機目錄:
git clone https://github.com/androidx/media.git
接下來,將以下內容新增至專案的settings.gradle.kts
檔案中,將path/to/media
替換為本機副本的路徑:
(gradle as ExtensionAware ).extra[ " androidxMediaModulePrefix " ] = " media3- "
apply (from = file( " path/to/media/core_settings.gradle " ))
或在 Gradle Groovy DSL settings.gradle
中:
gradle . ext . androidxMediaModulePrefix = ' media3- '
apply from : file( " path/to/media/core_settings.gradle " )
現在您應該看到 AndroidX Media 模組作為專案的一部分出現。您可以像依賴任何其他本機模組一樣從build.gradle.kts
依賴它們,例如:
implementation(project( " :media3-lib-exoplayer " ))
implementation(project( " :media3-lib-exoplayer-dash " ))
implementation(project( " :media3-lib-ui " ))
或在 Gradle Groovy DSL build.gradle
中:
implementation project( ' :media3-lib-exoplayer ' )
implementation project( ' :media3-lib-exoplayer-dash ' )
implementation project( ' :media3-lib-ui ' )
預設情況下,MIDI 模組會作為本機相依性被停用,因為它需要額外的 Maven 儲存庫配置。如果您想將其用作本機依賴項,請按照模組自述文件中的說明配置 JitPack 儲存庫,然後在settings.gradle.kts
檔案中啟用建置模組:
gradle.extra. apply {
set( " androidxMediaEnableMidiModule " , true )
}
或在 Gradle Groovy DSL settings.gradle
中:
gradle . ext . androidxMediaEnableMidiModule = true
開發工作發生在main
分支上。通常應向該分支發出拉取請求。
release
分支包含最新的穩定版本。
要使用 Android Studio 開發 AndroidX Media,只需開啟此儲存庫根目錄中的專案即可。