Se você precisa apenas do componente de player para criar recursos como séries de vídeos curtos, este tópico explica como integrar o ApsaraVideo Player SDK for Android. Caso também precise criar vídeos curtos, recomendamos o uso do ApsaraVideo MediaBox SDK for Android. Utilizar ambos os SDKs separadamente pode causar duplicação de classes e falhas de compilação.
Requisitos de ambiente
Use a versão mais recente do Android Studio. URL de download: Android Studio.
Versão do Android: 4,3 ou posterior.
Compatibilidade ABI: arquitetura armv7 ou arm64.
Limitação: o ApsaraVideo Player SDK for Android não oferece suporte a simuladores. Execute seu aplicativo em um dispositivo físico.
Pré-requisitos
Registre uma licença de player e obtenha o arquivo de licença
AliVideoCert-********.crt. Para mais informações, consulte Obtain a license.Para realizar a integração local do SDK, primeiro baixe o pacote do ApsaraVideo Player SDK for Android. Recomendamos que você baixe a versão mais recente.
Tutorial em vídeo
Etapa 1: Integrar o SDK
Integração via Gradle
Certifique-se de que sua rede consiga acessar o repositório Maven da Alibaba Cloud.
-
Adicione a configuração do Maven.
-
Para Gradle 7.x e versões posteriores
Adicione a seguinte configuração ao arquivo
setting.gradledo seu projeto:dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() jcenter() // jcenter() is being deprecated. We recommend that you replace it with mavenCentral(). maven { url "https://maven.aliyun.com/repository/releases" } } }dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() jcenter() // jcenter() is being deprecated. We recommend that you replace it with mavenCentral(). maven("https://maven.aliyun.com/repository/releases") } } -
Para versões anteriores ao Gradle 7.x
Adicione a seguinte configuração ao arquivo
build.gradledo seu projeto:allprojects { repositories { google() mavenCentral() jcenter() // jcenter() is being deprecated. We recommend that you replace it with mavenCentral(). maven { url "https://maven.aliyun.com/repository/releases" } } }allprojects { repositories { google() mavenCentral() jcenter() // jcenter() is being deprecated. We recommend that you replace it with mavenCentral(). maven("https://maven.aliyun.com/repository/releases") } }
-
-
Adicione a dependência do Player SDK.
Adicione a dependência do Player SDK ao bloco
dependenciesno arquivobuild.gradledo seu app. O código a seguir fornece um exemplo:NotaEspecifique o número de versão correto do SDK. Uma versão incorreta causa erro de integração. Para visualize a versão do Player SDK, consulte ApsaraVideo Player SDK for Android release history.
dependencies { // ApsaraVideo Player SDK for Android implementation 'com.aliyun.sdk.android:AliyunPlayer:7.18.0-full' }dependencies { // ApsaraVideo Player SDK for Android implementation("com.aliyun.sdk.android:AliyunPlayer:7.18.0-full") }
Integração local
Se não for possível baixar o SDK do repositório Maven por problemas de rede, utilize a integração local.
Os passos a seguir usam o Android Studio Flamingo | 2022.2.1 como exemplo. O processo é semelhante para outras versões.
-
Copie o pacote AAR necessário para o diretório
libsdo seu projeto. Caso o diretóriolibsnão exista, crie-o.app build libs AliyunPlayer-x.x.x-full.aar src androidTest main -
No arquivo
build.gradledo seu projeto, adicione a configuraçãoflatDirao blocorepositoriesdentro do blocoallprojects. O código a seguir fornece um exemplo:flatDir { dirs 'libs' } -
No arquivo
build.gradledo seu app, adicione uma dependência do arquivo AAR ao blocodependencies. O código a seguir fornece um exemplo:dependencies { implementation fileTree(dir: 'libs', include: ['*.aar']) }
Integração do Real-Time Streaming (RTS) (opcional)
Para integrar o componente Real-Time Streaming (RTS), consulte Implement RTS stream pulling on Android.
Etapa 2: Configure a licença
Se você utiliza o service em regiões fora da China continental, Hong Kong (China) e Macau (China), use um dos métodos a seguir para configurar o ambiente internacional.
-
Método 1: Chame a seguinte API para atualizar a configuração padrão para o ambiente internacional.
// To use the service in regions outside the Chinese mainland, Hong Kong (China), and Macao (China), // call this API to set the international environment before any other player API calls. // All subsequent operations will run in this environment. // The environment cannot be changed at runtime. AlivcBase.getEnvironmentManager().setGlobalEnvironment(AlivcEnv.GlobalEnv.ENV_SEA); -
Método 2 (recomendado): Para o player SDK V7.6.0 e versões posteriores, configure o ambiente internacional pelo método
XML.Adicione um nó
<meta-data>ao arquivoAndroidManifest.xml.<meta-data android:name="com.aliyun.alivc_env" android:value="SEA"/>O exemplo a seguir mostra uma configuração completa:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <application ... <meta-data android:name="com.aliyun.alivc_license.licensekey_SEA" android:value="xxx" /> <meta-data android:name="com.aliyun.alivc_license.licensefile_SEA" android:value="assets/SEALicense.crt" /> <meta-data android:name="com.aliyun.alivc_env" android:value="SEA"/> </application> </manifest>
Para configurar a licença no Android, consulte Configure the license for Android.
Etapa 3: Configure as permissões
No arquivo app/src/main/AndroidManifest.xml, declare as permissões necessárias:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Etapa 4: Configure a ofuscação
Adicione a configuração de ofuscação ao arquivo proguard-rules.pro. O código a seguir fornece um exemplo:
-keep class com.alivc.**{*;}
-keep class com.aliyun.**{*;}
-keep class com.cicada.**{*;}
-dontwarn com.alivc.**
-dontwarn com.aliyun.**
-dontwarn com.cicada.**
Etapa 5: Ative o registro em log (opcional)
Ativar os logs ajuda a localizar e solucionar problemas rapidamente, além de fornecer dados para otimização de desempenho e melhorias na experiência do usuário. Para saber como obter logs, consulte Obtain SDK logs.
// Enable the log switch.
Logger.getInstance(context).enableConsoleLog(true);
// Set the log level. The default level is AF_LOG_LEVEL_INFO. To troubleshoot issues, you can set it to AF_LOG_LEVEL_TRACE.
Logger.getInstance(context).setLogLevel(Logger.LogLevel.AF_LOG_LEVEL_INFO);
Estrutura do projeto
|
Nome do arquivo |
Descrição |
|
AliyunPlayer-x.x.x-full.aar |
Pacote AAR completo que inclui a biblioteca dinâmica FFmpeg. |
|
AliyunPlayer-x.x.x-part.aar |
Pacote AAR que não inclui a biblioteca dinâmica FFmpeg. |
|
AlivcArtp-x.x.x.aar |
Oferece suporte ao protocolo ARTP. Este pacote é opcional. |
|
AlivcArtc-x.x.x.aar |
Oferece suporte ao protocolo ARTC. Este pacote é opcional. |
Se você não integrar o SDK de vídeos curtos, adicione uma dependência no pacote
AliyunPlayer-x.xx.x-full.aar.Ao integrar tanto o Player SDK quanto o SDK de vídeos curtos, utilize o pacote
AliyunPlayer-x.x.x-partcomo dependência do Player SDK. Adicione também uma dependência na versão compartilhada do FFmpeg por meio do pacotecom.aliyun.video.android:AlivcFFmpeg:x.x.x.O uso de um pacote SDK incorreto durante a integração pode causar conflitos com o FFmpeg.
FAQ
Para problemas comuns e suas soluções, consulte FAQ about ApsaraVideo Player.