AndroidX Media é uma coleção de bibliotecas para implementação de casos de uso de mídia no Android, incluindo reprodução local (via ExoPlayer), edição de vídeo (via Transformer) e sessões de mídia.
Você encontrará um guia de migração para usuários existentes do ExoPlayer e MediaSession em developer.android.com.
As versões do AndroidX Media oferecem garantias de estabilidade da API, garantindo que a superfície da API permaneça compatível com versões anteriores das APIs mais usadas. APIs destinadas a casos de uso mais avançados são marcadas como instáveis. Para usar um método ou classe instável sem avisos de lint, você precisará adicionar a anotação OptIn antes de usá-lo. Para obter mais informações, consulte a documentação do UnstableApi.
Você pode obter as bibliotecas no repositório Google Maven. Também é possível clonar este repositório GitHub e depender dos módulos localmente.
A maneira mais fácil de começar a usar o AndroidX Media é adicionar dependências gradle às bibliotecas necessárias no arquivo build.gradle.kts
do módulo do seu aplicativo.
Por exemplo, para depender do ExoPlayer com suporte de reprodução DASH e componentes de UI, você pode adicionar dependências nos módulos como este:
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 " )
Ou em 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 '
onde 1.XX
é sua versão preferida. Todos os módulos devem ser da mesma versão.
Consulte a página AndroidX Media3 developer.android.com para obter mais informações, incluindo uma lista completa de módulos de biblioteca.
Este repositório inclui alguns módulos que dependem de bibliotecas externas que precisam ser construídas manualmente e não estão disponíveis no repositório Maven. Por favor, consulte os READMEs individuais no diretório de bibliotecas para obter mais detalhes.
Se ainda não estiver ativado, você também precisará ativar o suporte Java 8 em todos os arquivos build.gradle.kts
, dependendo do AndroidX Media, adicionando o seguinte à seção android
:
compileOptions {
targetCompatibility = JavaVersion . VERSION_1_8
}
Ou em Gradle Groovy DSL build.gradle
:
compileOptions {
targetCompatibility JavaVersion . VERSION_1_8
}
Se o seu Gradle minSdkVersion
for 20 ou inferior, você deverá habilitar o multidex para evitar erros de compilação.
Clonar o repositório e depender dos módulos localmente é necessário ao usar algumas bibliotecas. Também é uma abordagem adequada se você quiser fazer alterações locais ou usar o branch main
.
Primeiro, clone o repositório em um diretório local:
git clone https://github.com/androidx/media.git
Em seguida, adicione o seguinte ao arquivo settings.gradle.kts
do seu projeto, substituindo path/to/media
pelo caminho para sua cópia local:
(gradle as ExtensionAware ).extra[ " androidxMediaModulePrefix " ] = " media3- "
apply (from = file( " path/to/media/core_settings.gradle " ))
Ou em Gradle Groovy DSL settings.gradle
:
gradle . ext . androidxMediaModulePrefix = ' media3- '
apply from : file( " path/to/media/core_settings.gradle " )
Agora você deve ver os módulos AndroidX Media aparecerem como parte do seu projeto. Você pode depender deles em build.gradle.kts
como faria em qualquer outro módulo local, por exemplo:
implementation(project( " :media3-lib-exoplayer " ))
implementation(project( " :media3-lib-exoplayer-dash " ))
implementation(project( " :media3-lib-ui " ))
Ou em Gradle Groovy DSL build.gradle
:
implementation project( ' :media3-lib-exoplayer ' )
implementation project( ' :media3-lib-exoplayer-dash ' )
implementation project( ' :media3-lib-ui ' )
Por padrão, o módulo MIDI está desabilitado como uma dependência local, porque requer configuração adicional do repositório Maven. Se você quiser usá-lo como uma dependência local, configure o repositório JitPack conforme descrito no README do módulo e, em seguida, habilite a construção do módulo em seu arquivo settings.gradle.kts
:
gradle.extra. apply {
set( " androidxMediaEnableMidiModule " , true )
}
Ou em Gradle Groovy DSL settings.gradle
:
gradle . ext . androidxMediaEnableMidiModule = true
O trabalho de desenvolvimento acontece na filial main
. Solicitações pull normalmente devem ser feitas para este branch.
O branch release
contém a versão estável mais recente.
Para desenvolver AndroidX Media usando Android Studio, basta abrir o projeto no diretório raiz deste repositório.