Si vous avez uniquement besoin du composant de lecture pour développer des fonctionnalités telles que des séries de vidéos courtes, cette rubrique explique comment intégrer ApsaraVideo Player SDK pour Android. Si vous devez également créer des vidéos courtes, nous vous recommandons d'utiliser le SDK ApsaraVideo MediaBox pour Android. L'utilisation séparée de ces deux SDK peut entraîner une duplication des classes et provoquer des échecs de compilation.
Prérequis environnementaux
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.
Restriction : ApsaraVideo Player SDK pour Android ne prend pas en charge les émulateurs. Vous devez exécuter votre application sur un appareil physique.
Conditions préalables
Inscrivez-vous pour obtenir une licence de lecteur et récupérez le fichier de licence
AliVideoCert-********.crt. Pour plus d'informations, consultez Obtenir une licence.Pour effectuer une intégration locale du SDK, vous devez d'abord télécharger le package ApsaraVideo Player SDK pour Android. Nous vous conseillons de télécharger la version la plus récente.
Étape 1 : Intégrer le SDK
Intégration via Gradle
Assurez-vous que votre réseau permet d'accéder au dépôt 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. L'exemple de code suivant illustre cette opération :RemarqueVeillez à spécifier le numéro de version correct du SDK. Une version incorrecte entraîne une erreur d'intégration. Pour consulter la version du SDK Player, reportez-vous à l'Historique des versions d'ApsaraVideo Player SDK pour Android.
dependencies { // ApsaraVideo Player SDK for Android implementation 'com.aliyun.sdk.android:AliyunPlayer:7.17.0-full' }dependencies { // ApsaraVideo Player SDK for Android implementation("com.aliyun.sdk.android:AliyunPlayer:7.17.0-full") }
Intégration locale
Si des problèmes réseau vous empêchent de télécharger le SDK depuis le dépôt Maven, optez pour une intégration locale.
Les étapes suivantes prennent Android Studio Flamingo | 2022.2.1 comme exemple. La procédure reste similaire pour les autres versions.
-
Copiez le package AAR requis dans le répertoire
libsde votre projet. Si le répertoirelibsn'existe pas, créez-le.app build libs AliyunPlayer-x.x.x-full.aar src androidTest main -
Dans le fichier
build.gradlede votre projet, ajoutez le paramètreflatDirau blocrepositoriessitué à l'intérieur du blocallprojects. L'exemple de code suivant illustre cette opération :flatDir { dirs 'libs' } -
Dans le fichier
build.gradlede votre application, ajoutez une dépendance vers le fichier AAR dans le blocdependencies. L'exemple de code suivant illustre cette opération :dependencies { implementation fileTree(dir: 'libs', include: ['*.aar']) }
Intégration du streaming en temps réel (RTS) (facultatif)
Si vous devez intégrer le composant de streaming en temps réel (RTS), consultez Implémenter la récupération de flux RTS sur Android.
Étape 2 : Configurer la licence
Si vous utilisez le service dans des régions situées hors de Chine continentale, de Hong Kong (Chine) et de Macao (Chine), appliquez l'une des méthodes suivantes pour configurer l'environnement international.
-
Méthode 1 : Appelez l'API suivante pour basculer 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 présente une configuration type :
<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 sous Android, consultez Configurer la licence pour Android.
Étape 3 : Configurer les permissions
Dans votre fichier app/src/main/AndroidManifest.xml, déclarez les permissions 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. L'exemple de code suivant illustre cette opération :
-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 facilite l'identification et la résolution rapides des problèmes. Ces journaux fournissent également des données précieuses pour optimiser les performances et améliorer l'expérience utilisateur. Pour savoir comment obtenir les journaux, consultez 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 ne contenant pas la bibliothèque dynamique FFmpeg. |
|
AlivcArtp-x.x.x.aar |
Prise en charge du protocole ARTP. Ce package est facultatif. |
|
AlivcArtc-x.x.x.aar |
Prise en charge du protocole ARTC. Ce package est facultatif. |
En l'absence d'intégration du SDK de vidéo courte, ajoutez une dépendance vers le 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 vers le packagecom.aliyun.video.android:AlivcFFmpeg:x.x.x.L'utilisation d'un package SDK inadapté lors de l'intégration risque de provoquer des conflits FFmpeg.
FAQ
Pour consulter les problèmes courants et leurs solutions, reportez-vous à la FAQ sur ApsaraVideo Player.