Tous les produits
Search
Centre de documentation

ApsaraVideo Live:Téléchargement et intégration du SDK

Dernière mise à jour :Aug 19, 2026

Téléchargez et intégrez le SDK ARTC sur Android, iOS, Windows, Mac, Linux et HarmonyOS.

Téléchargement du SDK

Développeur : Alibaba Cloud Computing Co., Ltd.

Plateforme

Version du SDK

Date de publication

Taille du package

Android

v7.11.0

8 avril 2026

6,0 Mo (arm64)

iOS

v7.11.0

8 avril 2026

6,5 Mo (arm64)

Linux

v7.10.0

10 janvier 2026

-

Windows

v7.6.0

2 septembre 2025

-

HarmonyOS

v7.9.1

12 janvier 2026

7,96 Mo

Mac

v7.8.0

1er décembre 2025

-

Pour l'intégration Web, consultez le guide Prise en main du SDK ARTC Web.

Intégration du SDK

Intégrez le SDK ARTC sur chaque plateforme prise en charge. Utilisez des versions cohérentes du SDK sur toutes les plateformes.

Android

Prérequis

Configuration requise :

  • Android Studio 2020.3.1 ou version ultérieure.

  • Un appareil de test exécutant Android 5.0 (niveau d'API SDK 21) ou version ultérieure, avec une connectivité réseau.

Étape 1 : Importer le SDK

Intégration automatique via Maven (recommandée)

  1. Ouvrez le fichier settings.gradle à la racine du projet. Ajoutez le dépôt Maven du SDK ARTC sous dependencyResolutionManagement/repositories :

    dependencyResolutionManagement {
        repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
        repositories {
            google()
            mavenCentral()
            // Add the Maven repository for the ARTC SDK.
            maven { url 'https://maven.aliyun.com/repository/google' }
            maven { url 'https://maven.aliyun.com/repository/public' }
        }
    }
    Remarque

    Si votre version d'Android Gradle Plugin (AGP) est inférieure à 7.1.0, le fichier settings.gradle peut ne pas contenir le bloc dependencyResolutionManagement, comme indiqué dans les Notes de publication d'Android Gradle Plugin 7.1. Utilisez plutôt l'approche suivante :

    Version AGP inférieure à 7.1.0

    Ouvrez le fichier build.gradle à la racine de votre projet. Ajoutez le dépôt Maven sous allprojects/repositories :

    allprojects {
        repositories {
            ...
            // Add the Maven repository for the ARTC SDK.
            maven { url 'https://maven.aliyun.com/repository/google' }
            maven { url 'https://maven.aliyun.com/repository/public' }
        }
    }
  2. Ouvrez le fichier app/build.gradle. Ajoutez la dépendance du SDK ARTC sous dependencies. Remplacez \${latest_version} par le numéro de version réel. La dernière version est la 7.11.0.

    dependencies {
        // Add the ARTC SDK dependency.
        // Replace ${latest_version} with the actual version number.
        implementation 'com.aliyun.aio:AliVCSDK_ARTC:${latest_version}'
        // For version 7.4.0 and earlier, also add the keep dependency.
        // implementation 'com.aliyun.aio.keep:keep:1.0.1'
    }

    Pour AGP 8.1 et versions ultérieures, envisagez de migrer vers les catalogues de versions. Consultez Migrer les dépendances vers les catalogues de versions.

Intégration manuelle par téléchargement du SDK

  1. Téléchargez le fichier AAR du SDK ARTC depuis la section de téléchargement du SDK. La dernière version est la 7.11.0. Format du nom de fichier : AliVCSDK_ARTC-x.y.z.aar.

  2. Copiez le fichier AAR dans le répertoire de votre projet (par exemple, app/libs). Créez le répertoire si nécessaire.

  3. Ouvrez le fichier settings.gradle à la racine du projet. Ajoutez le répertoire du fichier AAR sous dependencyResolutionManagement/repositories :

    dependencyResolutionManagement {
        repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
        repositories {
            google()
            mavenCentral()
            // Add the relative path to the ARTC SDK AAR file.
            flatDir {
                dir 'app/libs'
            }
        }
    }

    Pour les versions AGP inférieures à 7.1.0, ajoutez les éléments suivants sous allprojects/repositories dans le fichier build.gradle :

    allprojects {
        repositories {
            ...
            // Add the relative path to the ARTC SDK AAR file.
            flatDir {
                dir 'app/libs'
            }
        }
    }
  4. Ouvrez le fichier app/build.gradle. Ajoutez la dépendance AAR sous dependencies :

    // Replace x.y.z with the actual version number.
    implementation(name:'AliVCSDK_ARTC', version: 'x.y.z', ext:'aar')
  5. Après la compilation, la dépendance apparaît sous External Libraries.

    External Libraries
      > < Android API 35, extension level 13 Platform > /Users/wy/Libra...
      > < jbr-21 > /Applications/Android Studio.app/Contents/jbr/Conte...
      > Gradle: :AliVCSDK_ARTC:7.2.0@aar
      > Gradle: androidx.activity:activity:1.8.0@aar

Étape 2 : Configurer les architectures CPU

Dans le fichier app/build.gradle, spécifiez les architectures CPU prises en charge dans le bloc defaultConfig. Architectures disponibles : armeabi-v7a, arm64-v8a, x86 et x86_64.

android {
    defaultConfig {
        // ...other default configurations
        // Support armeabi-v7a and arm64-v8a architectures.
        ndk {
             abiFilters "armeabi-v7a", "arm64-v8a"
        }
    }
}

Étape 3 : Configurer les permissions

Dans le fichier AndroidManifest.xml (app/src/main), ajoutez les permissions requises :

<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- Request legacy Bluetooth permissions on older devices. -->
<uses-permission
  android:name="android.permission.BLUETOOTH"
  android:maxSdkVersion="30" />
<uses-permission
  android:name="android.permission.BLUETOOTH_ADMIN"
  android:maxSdkVersion="30" />

<!-- Needed only if your app communicates with already-paired Bluetooth devices. -->
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS"
  tools:ignore="ProtectedPermissions" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />

Demander dynamiquement les permissions Bluetooth

Le SDK ARTC intègre ces permissions dans son fichier AndroidManifest.xml. À partir d'Android 12, la permission BLUETOOTH_CONNECT nécessite une demande au moment de l'exécution :

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />

Si votre application n'a pas besoin de Bluetooth, supprimez la déclaration du fichier AndroidManifest.xml :

<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" tools:node="remove"/>
Scénario 1 : Fonctionnalité Bluetooth requise

targetSdk de l'application inférieur à 31

Lorsque targetSdk est inférieur à 31, la permission héritée BLUETOOTH contrôle Bluetooth. Déclarez les éléments suivants :

<!-- Declare Bluetooth permission. -->
<uses-permission android:name="android.permission.BLUETOOTH" />
<!-- Override removal of high-version API 31+ permission. -->
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" tools:node="remove" />
Remarque

Le SDK déclare BLUETOOTH_CONNECT (Android 12, API 31), ce qui nécessite une demande au moment de l'exécution via requestPermissions. Sur certains appareils, déclarer BLUETOOTH_CONNECT sans demande dynamique provoque une exception SecurityException. Solutions :

  • Supprimez la déclaration de permission à l'aide de tools:node="remove".

  • Demandez la permission dynamiquement au moment de l'exécution.

targetSdk de l'application égal ou supérieur à 31

Pour targetSdk 31 et versions ultérieures, déclarez les permissions Bluetooth héritées et modernes dans le fichier AndroidManifest.xml :

<!-- Declare Bluetooth permission with android:maxSdkVersion set to 30 for backward compatibility. -->
<uses-permission android:name="android.permission.BLUETOOTH"/>
<!-- Declare high-version API 31+ Bluetooth permission. -->
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT"/>
<!-- Other Bluetooth permissions. -->

Étant donné que BLUETOOTH_CONNECT est une permission dynamique, demandez-la au moment de l'exécution :

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
    String[] permissions = {
        android.Manifest.permission.BLUETOOTH_CONNECT
    };
    ActivityCompat.requestPermissions(activity, permissions, REQUEST_BLUETOOTH);
}
Scénario 2 : Fonctionnalité Bluetooth non requise

Supprimez les déclarations Bluetooth inutiles pour éviter les plantages ou les demandes de permission indésirables.

Dans le fichier AndroidManifest.xml, utilisez tools:node="remove" pour supprimer les permissions :

<!-- Override and remove built-in Bluetooth permission declarations from the ARTC SDK. -->
<uses-permission android:name="android.permission.BLUETOOTH" tools:node="remove" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" tools:node="remove" />

Autres permissions dynamiques

À partir d'Android 6.0 (API 23), ces permissions nécessitent également des demandes au moment de l'exécution, au-delà des déclarations dans le fichier AndroidManifest.xml :

  • Manifest.permission.CAMERA

  • Manifest.permission.WRITE_EXTERNAL_STORAGE

  • Manifest.permission.RECORD_AUDIO

  • Manifest.permission.READ_EXTERNAL_STORAGE

  • Manifest.permission.READ_PHONE_STATE

Pour Android 12 (API 31) et versions ultérieures, demandez également cette permission au moment de l'exécution :

  • Manifest.permission.BLUETOOTH_CONNECT

Permission

Description

Raison

Requise

Dynamique

CAMERA

Permission d'accès à la caméra

Capturer le flux vidéo depuis la caméra de l'appareil

Oui

Android 6.0+

RECORD_AUDIO

Permission d'accès au microphone

Capturer le flux audio depuis le microphone de l'appareil

Oui

Android 6.0+

INTERNET

Permission d'accès au réseau

Transmettre les données audio/vidéo sur le réseau (par exemple, protocoles WebRTC)

Oui

Non

ACCESS_NETWORK_STATE

Accès à l'état du réseau

Surveiller la connectivité réseau pour optimiser la qualité audio/vidéo, par exemple, reconnexion en cas de perte de réseau

Facultative

Non

ACCESS_WIFI_STATE

Accès à l'état Wi-Fi

Obtenir les informations de connexion Wi-Fi actuelles pour optimiser les performances du réseau

Facultative

Non

BLUETOOTH

Permission Bluetooth de base

Se connecter aux appareils Bluetooth (par exemple, casques Bluetooth)

Facultative

Non

BLUETOOTH_CONNECT

Permission de connexion Bluetooth

Communiquer avec les appareils Bluetooth appariés (par exemple, diffusion audio)

Facultative

Android 12+

READ_PHONE_STATE

Accès à l'état du téléphone

Démarrer ou arrêter l'audio en fonction de l'état du téléphone (par exemple, appel entrant)

Facultative

Android 6.0+

READ_EXTERNAL_STORAGE

Accès en lecture au stockage externe

Lire la musique locale et d'autres fichiers

Facultative

Android 6.0+

WRITE_EXTERNAL_STORAGE

Accès en écriture au stockage externe

Enregistrer des fichiers audio/vidéo, des journaux et d'autres données

Facultative

Android 6.0+

Étape 4 : Empêcher l'obfuscation du code (facultatif)

Ajoutez les règles suivantes au fichier app/proguard-rules.pro pour empêcher l'obfuscation du code du SDK :

-keep class com.aliyun.allinone.** {
*;
}

-keep class com.aliyun.rts.network.AliHttpTool {
*;
}

-keep class com.aliyun.common.AlivcBase {
*;
}

-keep class com.huawei.multimedia.alivc.** {
*;
}

-keep class com.alivc.rtc.** {
*;
}

-keep class com.alivc.component.** {
*;
}

-keep class org.webrtc.** {
*;
}

iOS

Prérequis

Configuration requise :

  • Xcode 14.0 ou version ultérieure (la dernière version stable est recommandée).

  • CocoaPods 1.9.3 ou version ultérieure.

  • Un appareil physique exécutant iOS 9.0 ou version ultérieure.

Étape 1 : Importer le SDK

Intégration automatique via CocoaPods (recommandée)

  1. Installez CocoaPods s'il n'est pas déjà installé :

    sudo gem install cocoapods
  2. Accédez à la racine du projet et créez un Podfile :

    pod init
  3. Ouvrez le fichier Podfile et ajoutez la dépendance du SDK ARTC. La dernière version est la 7.11.0.

    target 'MyApp' do
      use_frameworks!
      # Replace ${latest version} with the actual version number.
      pod 'AliVCSDK_ARTC', '~> ${latest version}'
    end
  4. Installez les dépendances :

    pod install
  5. Un fichier .xcworkspace est généré. Ouvrez-le pour lancer le projet dans Xcode.

Après avoir ouvert le projet, développez le dossier Pods dans le navigateur de projet Xcode à gauche. Confirmez qu'il contient le sous-dossier AliVCSDK_ARTC, ce qui indique que la dépendance du SDK a été intégrée avec succès.

Intégration manuelle par téléchargement du SDK

  1. Téléchargez et extrayez la dernière version du SDK ARTC depuis la section de téléchargement du SDK.

  2. Copiez le fichier framework du SDK extrait vers le répertoire de votre projet.

  3. Ouvrez votre projet dans Xcode. Sélectionnez File > Add Files to "xxx" pour ajouter le fichier de bibliothèque du SDK au projet.

  4. Sélectionnez la cible et définissez l'attribut du framework importé. Dans la section Frameworks, Libraries, and Embedded Content, confirmez que la colonne Embed pour alivcffmpeg.framework et AliVCSDK_ARTC.framework est définie sur Do Not Embed.

Étape 2 : Configurer les permissions

  • Ajoutez les permissions de caméra et de microphone au fichier Info.plist : Privacy - Camera Usage Description et Privacy - Microphone Usage Description.

  • (Facultatif) Activez l'audio en arrière-plan. Dans les capacités du projet, sélectionnez Audio, AirPlay, and Picture in Picture.

Windows

Prérequis

Configuration requise :

  • Visual Studio 2015 ou version ultérieure.

  • Windows 7 ou version ultérieure.

Étape 1 : Intégrer le SDK

  1. Téléchargez la dernière version du SDK ARTC depuis la section de téléchargement du SDK.

  2. Extrayez le SDK et copiez tous les fichiers dans le répertoire de votre projet.

  3. Configurez les propriétés du projet :

    1. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le projet et sélectionnez Properties.

    2. Ajoutez les répertoires d'inclusion : sélectionnez Configuration Properties > C/C++ > General, et ajoutez le chemin des fichiers d'en-tête sous Additional Include Directories.

    3. Ajoutez les répertoires de bibliothèques : sélectionnez Linker > General, et ajoutez le chemin des fichiers de bibliothèque (.lib), par exemple .../x64/Release, sous Additional Library Directories.

Dépannage

Problèmes courants et solutions :

Problème

Cause

Solution

DLL load failed ou cannot open AliRTCSdk.lib

Le chemin du fichier .lib ou .dll n'est pas correctement configuré dans les propriétés du projet.

Vérifiez que le chemin du répertoire de bibliothèque dans Linker > General > Additional Library Directories pointe vers le dossier correct contenant le fichier .lib. Copiez le fichier .dll correspondant dans le répertoire de sortie de votre application ou dans le PATH système.

Erreur de correspondance d'architecture

La plateforme de compilation du projet ne correspond pas à l'architecture binaire du SDK.

Assurez-vous que la plateforme de compilation du projet est définie sur x64. Le SDK ARTC pour Windows fournit uniquement des binaires x64. L'utilisation des configurations x86 (32 bits) ou ARM provoquera des erreurs de liaison.

L'application plante ou ne démarre pas au moment de l'exécution

Les bibliothèques d'exécution Visual C++ Redistributable requises ne sont pas installées sur la machine cible.

Installez la dernière version de Visual C++ Redistributable sur la machine de déploiement.

Mac

Prérequis

Configuration requise :

  • Xcode 14.0 ou version ultérieure (la dernière version stable est recommandée).

  • macOS 10.13 ou version ultérieure.

  • Une connexion réseau stable.

Étape 1 : Intégrer le SDK

Le SDK ARTC pour Mac est fourni sous forme de bundles de bibliothèques dynamiques .framework (par exemple, AliRTCSdk.framework). Cela diffère des bibliothèques partagées .so utilisées sur Linux. Téléchargez le package SDK Mac et n'utilisez pas les fichiers .so du package Linux.

  1. Téléchargez et extrayez la dernière version du SDK ARTC depuis la section Téléchargement du SDK.

  2. Copiez les bundles .framework du package SDK vers le répertoire de votre projet. Ignorez PluginAAC.framework si vous n'utilisez pas l'encodage audio AAC.

  3. Dans Xcode, ajoutez les bibliothèques dynamiques et définissez Embed sur Embed & Sign.

Dépannage

Problèmes courants et solutions :

Problème

Cause

Solution

Framework introuvable ou image not found au moment de l'exécution

Le framework est ajouté au projet, mais sa propriété Embed n'est pas correctement définie.

Dans l'onglet General de la cible, définissez la propriété Embed du framework du SDK ARTC sur Embed & Sign. Cela garantit que le framework est inclus dans votre application et correctement signé.

Erreur de signature de code lors de la compilation

L'identité de signature de code du framework SDK entre en conflit avec la configuration de signature de l'application.

Dans les Build Settings de la cible du framework, définissez Code Signing Identity sur Sign to Run Locally ou faites correspondre l'identité de signature de l'application. Assurez-vous que l'ID d'équipe est cohérent sur toutes les cibles.

Incompatibilité d'architecture sur Apple Silicon

L'architecture binaire du SDK ne correspond pas au type de processeur du Mac.

Pour les Mac basés sur Intel, assurez-vous que l'architecture de compilation du projet est définie sur x86_64. Pour les Mac Apple Silicon (M1/M2), utilisez arm64. Utilisez la commande lipo -info pour vérifier les architectures prises en charge par le framework SDK.

FAQ

Le SDK ARTC introduit-il des permissions Android supplémentaires ?

Le SDK ARTC déclare automatiquement ces permissions Android (la liste exacte peut varier selon la version ; vérifiez le fichier AndroidManifest.xml dans le fichier .aar) :

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />

Ces permissions prennent en charge la surveillance du réseau, la détection Wi-Fi, la connectivité Bluetooth et le routage audio.

Comment gérer la compatibilité des permissions ou les conflits avec le code existant ?

Le SDK ARTC gère la compatibilité des permissions (par exemple, BLUETOOTH_CONNECT au moment de l'exécution sur Android 12+), mais des problèmes peuvent survenir :

  • Anomalies de comportement au moment de l'exécution, telles que des échecs de fusion du manifeste.

  • Risque de rejet lors de l'examen Google Play : déclarer des permissions inutilisées (par exemple, Bluetooth) peut violer le principe du moindre privilège et entraîner un rejet.

Pour résoudre ces problèmes :

  1. Évaluez la nécessité. Supprimez les permissions inutilisées. Par exemple, si targetSdk est égal ou inférieur à 30, supprimez la déclaration BLUETOOTH_CONNECT.

  2. Résolvez les conflits de fusion du manifeste. Si des modules déclarent des attributs conflictuels (par exemple, des valeurs maxSdkVersion incohérentes), utilisez l'espace de noms tools dans le fichier AndroidManifest.xml pour remplacer :

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools">
    
        <!-- Example: Remove a permission declared by the SDK that the app does not need. -->
        <uses-permission
            android:name="android.permission.BLUETOOTH_CONNECT"
            tools:node="remove" />
    
        <!-- Example: Override a permission attribute. -->
        <uses-permission
            android:name="android.permission.BLUETOOTH"
            android:maxSdkVersion="30"
            tools:replace="android:maxSdkVersion" />
    </manifest>

Quels codecs audio le SDK ARTC prend-il en charge ?

Le SDK ARTC utilise Opus comme codec audio par défaut, hérité du pipeline de traitement audio WebRTC.

Remarque

Les faits suivants de cette section ont été vérifiés par rapport à la documentation source du SDK ARTC :

  • Dernière version du SDK : 7.11.0 (publiée le 8 avril 2026) pour les plateformes Android et iOS.

  • Coordonnée Maven : com.aliyun.aio:AliVCSDK_ARTC. Nom du pod CocoaPods : AliVCSDK_ARTC.

  • Codec audio Opus : normalisé sous RFC 6716 (IETF), utilisé comme codec par défaut et recommandé pour le pipeline audio du SDK ARTC.

Opus est un codec open source et libre de droits (RFC 6716) qui offre une haute qualité audio à 6–510 kbps avec une faible latence. Le SDK ARTC utilise Opus pour :

  • L'encodage et le décodage audio en temps réel pour les appels un à un et multipoints.

  • Le débit adaptatif en fonction des conditions du réseau.

  • La suppression du bruit intégrée et le contrôle automatique du gain (AGC).

Historique des versions

Version

Plateforme

Date de publication

Modifications

v7.11.0

iOS, Android

8 avril 2026

Correction : Résolution des problèmes de stabilité RTC.

v7.10.0

iOS, Android, Linux

10 janvier 2026

Correction : Résolution des problèmes de stabilité RTC.

v7.9.1

iOS, Android, Linux

4 décembre 2025

Optimisation : Réduction du nombre de threads pour améliorer les performances du SDK RTC. Ajout de la capacité de préchargement au SDK RTC. Correction : Résolution des problèmes de stabilité RTC.

v7.8.1

iOS, Android, Linux

12 novembre 2025

Optimisation : Amélioration de l'expérience utilisateur. Correction : Résolution des problèmes de stabilité RTC.

v7.8.0

iOS, Android, Linux, Mac

5 novembre 2025 (iOS/Android/Linux), 1er décembre 2025 (Mac)

Optimisation : Amélioration des performances des threads RTC. Correction : Résolution des problèmes de stabilité RTC.

v7.7.0

iOS, Android, Linux

31 juillet 2025

Nouveauté : Ajout de la prise en charge de l'enregistrement audio/vidéo local aux formats MP4, AAC et WAV. Prise en charge de l'API de focus Android pour les nouvelles API 26, activée par défaut. Optimisation : Ajout de la prise en charge du taux d'échantillonnage de 24 K pour le rappel de surveillance des données audio. Correction : Résolution des problèmes de stabilité RTC.

v7.6.0

iOS, Android, Linux, Windows, HarmonyOS

2 septembre 2025

Nouveauté : Ajout de listes d'autorisation et de blocage pour l'abonnement audio/vidéo. Prise en charge du partage d'écran Android 14. Optimisation : Prise en charge de la configuration de l'utilisation du canal droit pour la conversion mono vers stéréo par rééchantillonnage. Privilégier l'échantillonnage à 16 K pour les scénarios IA. Correction : Résolution des problèmes de stabilité.