Si vous avez uniquement besoin du composant lecteur pour créer des fonctionnalités telles que des séries de vidéos courtes, cette rubrique explique comment intégrer l'ApsaraVideo Player SDK for Android. Si vous devez également créer des vidéos courtes, nous vous recommandons d'utiliser l'ApsaraVideo MediaBox SDK for Android. L'utilisation séparée des deux SDK peut entraîner une duplication de classes et provoquer des échecs de compilation.
Configuration requise
Utilisez la dernière version d'Android Studio. URL de téléchargement : Android Studio.
Version Android : 4.3 ou ultérieure.
Compatibilité ABI : architecture armv7 ou arm64.
Limitation : l'ApsaraVideo Player SDK for Android ne prend pas en charge les simulateurs. Exécutez votre application sur un appareil physique.
Prérequis
Inscrivez-vous pour obtenir une licence de lecteur et récupérez le fichier de licence
AliVideoCert-********.crt. Pour plus d'informations, consultez la section Obtenir une licence.Pour une intégration locale du SDK, téléchargez au préalable le package de l'ApsaraVideo Player SDK for Android. Nous vous recommandons de télécharger la dernière version.
Tutoriel vidéo
Étape 1 : Intégrer le SDK
Intégration Gradle
Vérifiez que votre réseau permet d'accéder au référentiel Maven d'Alibaba Cloud.
-
Ajoutez la configuration Maven.
-
Pour Gradle 7.x et versions ultérieures
Ajoutez la configuration suivante au fichier
setting.gradlede votre projet :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") } } -
Pour les versions antérieures à Gradle 7.x
Ajoutez la configuration suivante au fichier
build.gradlede votre projet :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") } }
-
-
Ajoutez la dépendance du SDK Player.
Ajoutez la dépendance du SDK Player au bloc
dependenciesdans le fichierbuild.gradlede votre application. Voici un exemple :RemarqueVeillez à spécifier le numéro de version correct du SDK. Une version incorrecte entraîne une erreur d'intégration. Pour afficher la version du SDK Player, consultez l'historique des versions de l'ApsaraVideo Player SDK for Android.
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") }
Intégration locale
Si des problèmes réseau vous empêchent de télécharger le SDK depuis le référentiel Maven, optez pour l'intégration locale.
Les étapes suivantes utilisent Android Studio Flamingo | 2022.2.1 à titre d'exemple. Le processus est similaire pour les autres versions.
-
Copiez le package AAR requis dans le répertoire
libsde votre projet. Créez ce répertoire s'il n'existe pas.app build libs AliyunPlayer-x.x.x-full.aar src androidTest main -
Dans le fichier
build.gradlede votre projet, ajoutez le paramètreflatDirau blocrepositoriessitué dans le blocallprojects. Voici un exemple :flatDir { dirs 'libs' } -
Dans le fichier
build.gradlede votre application, ajoutez une dépendance au fichier AAR dans le blocdependencies. Voici un exemple :dependencies { implementation fileTree(dir: 'libs', include: ['*.aar']) }
Intégration du streaming en temps réel (RTS) (facultatif)
Pour intégrer le composant Real-Time Streaming (RTS), consultez la section Implémenter la réception de flux RTS sur Android.
Étape 2 : Configurer la licence
Si vous utilisez le service dans des régions situées en dehors de la Chine continentale, de Hong Kong (Chine) et de Macao (Chine), configurez l'environnement international à l'aide de l'une des méthodes suivantes.
-
Méthode 1 : appelez l'API suivante pour mettre à jour la configuration par défaut vers l'environnement international.
// 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éthode 2 (recommandée) : pour le SDK Player V7.6.0 et versions ultérieures, vous pouvez configurer l'environnement international via la méthode
XML.Ajoutez un nœud
<meta-data>à votre fichierAndroidManifest.xml.<meta-data android:name="com.aliyun.alivc_env" android:value="SEA"/>L'exemple suivant illustre une configuration :
<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>
Pour configurer la licence pour Android, consultez la section Configurer la licence pour Android.
Étape 3 : Configurer les autorisations
Dans votre fichier app/src/main/AndroidManifest.xml , déclarez les autorisations requises :
<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" />
Étape 4 : Configurer l'obfuscation
Ajoutez la configuration d'obfuscation à votre fichier proguard-rules.pro . Voici un exemple :
-keep class com.alivc.**{*;}
-keep class com.aliyun.**{*;}
-keep class com.cicada.**{*;}
-dontwarn com.alivc.**
-dontwarn com.aliyun.**
-dontwarn com.cicada.**
Étape 5 : Activer la journalisation (facultatif)
L'activation des journaux vous aide à localiser et à résoudre rapidement les problèmes. Les journaux fournissent également des données pour l'optimisation des performances et l'amélioration de l'expérience utilisateur. Pour savoir comment obtenir les journaux, consultez la section Obtenir les journaux du 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);
Structure du projet
|
Nom du fichier |
Description |
|
AliyunPlayer-x.x.x-full.aar |
Package AAR complet incluant la bibliothèque dynamique FFmpeg. |
|
AliyunPlayer-x.x.x-part.aar |
Package AAR n'incluant pas la bibliothèque dynamique FFmpeg. |
|
AlivcArtp-x.x.x.aar |
Prend en charge le protocole ARTP. Ce package est facultatif. |
|
AlivcArtc-x.x.x.aar |
Prend en charge le protocole ARTC. Ce package est facultatif. |
Si vous n'intégrez pas le SDK de vidéo courte, ajoutez une dépendance au package
AliyunPlayer-x.xx.x-full.aar.Si vous intégrez à la fois le SDK Player et le SDK de vidéo courte, utilisez le package
AliyunPlayer-x.x.x-partpour la dépendance du SDK Player. Vous devez également utiliser une version partagée de FFmpeg en ajoutant une dépendance au packagecom.aliyun.video.android:AlivcFFmpeg:x.x.x.L'utilisation d'un package SDK incorrect lors de l'intégration peut provoquer des conflits FFmpeg.
FAQ
Pour les problèmes courants et leurs solutions, consultez la section FAQ sur l'ApsaraVideo Player.