Este tópico explica como integrar o ApsaraVideo Player SDK for Android caso você precise apenas do componente de player para criar recursos como séries de vídeos curtos. Se também for necessário criar vídeos curtos, recomendamos o ApsaraVideo MediaBox SDK for Android. O uso isolado de ambos os SDKs pode causar duplicação de classes e resultar em falhas de compilação.
Requisitos de ambiente
Use a versão mais recente do Android Studio. URL para download: Android Studio.
Versão do Android: 4,3 ou posterior.
Compatibilidade de ABI: arquitetura armv7 ou arm64.
Limitação: O ApsaraVideo Player SDK for Android não oferece suporte a simuladores. Execute o aplicativo em um dispositivo físico.
Pré-requisitos
Registre uma licença de player e obtenha o arquivo de licença
AliVideoCert-********.crt. Para obter mais informações, consulte Obter uma licença.Para integrar localmente o SDK, baixe primeiro o pacote do ApsaraVideo Player SDK for Android. Recomendamos baixar a versão mais recente.
Etapa 1: Integrar o SDK
Integração via Gradle
Certifique-se de que sua rede tenha acesso ao repositório Maven da Alibaba Cloud.
-
Adicione a configuração do Maven.
-
Para Gradle 7.x e posteriores
Adicione a seguinte configuração ao arquivo
setting.gradledo 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 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 aplicativo. Exemplo:NotaEspecifique o número de versão correto do SDK. Uma versão incorreta causa erro de integração. Para visualizar a versão do Player SDK, consulte Histórico de versões do ApsaraVideo Player SDK for Android.
dependencies { // ApsaraVideo Player SDK for Android implementation 'com.aliyun.sdk.android:AliyunPlayer:7.16.0-full' }dependencies { // ApsaraVideo Player SDK for Android implementation("com.aliyun.sdk.android:AliyunPlayer:7.16.0-full") }
Integração local
Caso não seja possível baixar o SDK do repositório Maven devido a problemas de rede, use a integração local.
As etapas 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 projeto. Se o diretóriolibsnão existir, crie-o.app build libs AliyunPlayer-x.x.x-full.aar src androidTest main -
No arquivo
build.gradledo projeto, adicione a configuraçãoflatDirao blocorepositoriesdentro do blocoallprojects. Exemplo:flatDir { dirs 'libs' } -
No arquivo
build.gradledo aplicativo, adicione uma dependência do arquivo AAR no blocodependencies. Exemplo:dependencies { implementation fileTree(dir: 'libs', include: ['*.aar']) }
Integração do Real-Time Streaming (RTS) (opcional)
Se for necessário integrar o componente Real-Time Streaming (RTS), consulte Implementar pull de stream RTS no Android.
Etapa 2: Configurar a licença
Se você utilizar 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 API a seguir 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 posteriores, configure o ambiente internacional usando o método
XML.Adicione um nó
<meta-data>ao arquivoAndroidManifest.xml.<meta-data android:name="com.aliyun.alivc_env" android:value="SEA"/>Exemplo de configuração:
<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 para Android, consulte Configurar a licença para Android.
Etapa 3: Configurar 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: Configurar ofuscação
Adicione a configuração de ofuscação ao arquivo proguard-rules.pro. Exemplo:
-keep class com.alivc.**{*;}
-keep class com.aliyun.**{*;}
-keep class com.cicada.**{*;}
-dontwarn com.alivc.**
-dontwarn com.aliyun.**
-dontwarn com.cicada.**
Etapa 5: Ativar logs (opcional)
Ativar logs ajuda a localizar e solucionar problemas rapidamente. Os logs também fornecem dados para otimização de desempenho e melhorias na experiência do usuário. Para obter informações sobre como obter logs, consulte Obter logs do SDK.
// 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 sem a biblioteca dinâmica FFmpeg. |
|
AlivcArtp-x.x.x.aar |
Suporta o protocolo ARTP. Pacote opcional. |
|
AlivcArtc-x.x.x.aar |
Suporta o protocolo ARTC. Pacote opcional. |
Se não integrar o SDK de vídeo curto, adicione uma dependência do pacote
AliyunPlayer-x.xx.x-full.aar.Ao integrar tanto o Player SDK quanto o SDK de vídeo curto, use o pacote
AliyunPlayer-x.x.x-partpara a dependência do Player SDK. Também é necessário usar uma versão compartilhada do FFmpeg adicionando uma dependência do pacotecom.aliyun.video.android:AlivcFFmpeg:x.x.x.O uso de um pacote SDK incorreto durante a integração pode causar conflitos de FFmpeg.
Perguntas frequentes
Para problemas comuns e soluções, consulte Perguntas frequentes sobre o ApsaraVideo Player.