Jika Anda hanya memerlukan komponen player untuk membangun fitur seperti seri video pendek, topik ini menjelaskan cara mengintegrasikan ApsaraVideo Player SDK untuk Android. Jika Anda juga perlu membuat video pendek, kami menyarankan menggunakan ApsaraVideo MediaBox SDK untuk Android. Menggunakan kedua SDK secara terpisah dapat menyebabkan duplikasi kelas dan mengakibatkan kegagalan kompilasi.
Persyaratan lingkungan
Gunakan versi terbaru Android Studio. URL unduh: Android Studio.
Versi Android: 4.3 atau lebih baru.
Kompatibilitas ABI: arsitektur armv7 atau arm64.
Batasan: ApsaraVideo Player SDK untuk Android tidak mendukung simulator. Anda harus menjalankan aplikasi pada perangkat fisik.
Prasyarat
Daftarkan lisensi player dan peroleh file lisensi
AliVideoCert-********.crt. Untuk informasi selengkapnya, lihat Peroleh lisensi.Saat melakukan integrasi lokal SDK, Anda harus terlebih dahulu mengunduh paket ApsaraVideo Player SDK untuk Android. Kami menyarankan Anda mengunduh versi terbaru.
Langkah 1: Integrasikan SDK
Integrasi Gradle
Pastikan jaringan Anda dapat mengakses Repositori Maven Alibaba Cloud.
Tambahkan konfigurasi Maven.
Untuk Gradle 7.x dan yang lebih baru
Tambahkan konfigurasi berikut ke file
setting.gradleproyek Anda:dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() jcenter() // jcenter() sedang ditinggalkan. Kami menyarankan Anda menggantinya dengan mavenCentral(). maven { url "https://maven.aliyun.com/repository/releases" } } }dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() jcenter() // jcenter() sedang ditinggalkan. Kami menyarankan Anda menggantinya dengan mavenCentral(). maven("https://maven.aliyun.com/repository/releases") } }Untuk versi sebelum Gradle 7.x
Tambahkan konfigurasi berikut ke file
build.gradleproyek Anda:allprojects { repositories { google() mavenCentral() jcenter() // jcenter() sedang ditinggalkan. Kami menyarankan Anda menggantinya dengan mavenCentral(). maven { url "https://maven.aliyun.com/repository/releases" } } }allprojects { repositories { google() mavenCentral() jcenter() // jcenter() sedang ditinggalkan. Kami menyarankan Anda menggantinya dengan mavenCentral(). maven("https://maven.aliyun.com/repository/releases") } }
Tambahkan dependensi Player SDK.
Tambahkan dependensi Player SDK ke blok
dependenciesdalam filebuild.gradleaplikasi Anda. Kode berikut merupakan contoh:CatatanPastikan Anda menentukan nomor versi SDK yang benar. Versi yang salah menyebabkan error integrasi. Untuk melihat versi Player SDK, lihat Riwayat rilis ApsaraVideo Player SDK untuk Android.
dependencies { // ApsaraVideo Player SDK untuk Android implementation 'com.aliyun.sdk.android:AliyunPlayer:7.16.0-full' }dependencies { // ApsaraVideo Player SDK untuk Android implementation("com.aliyun.sdk.android:AliyunPlayer:7.16.0-full") }
Integrasi lokal
Jika Anda tidak dapat mengunduh SDK dari Repositori Maven karena masalah jaringan, gunakan integrasi lokal.
Langkah-langkah berikut menggunakan Android Studio Flamingo | 2022.2.1 sebagai contoh. Prosesnya serupa untuk versi lainnya.
Salin paket AAR yang diperlukan ke direktori
libsproyek Anda. Jika direktorilibsbelum ada, buatlah.app build libs AliyunPlayer-x.x.x-full.aar src androidTest mainDi file
build.gradleproyek Anda, tambahkan pengaturanflatDirke blokrepositoriesdi dalam blokallprojects. Kode berikut merupakan contoh:flatDir { dirs 'libs' }Di file
build.gradleaplikasi Anda, tambahkan dependensi terhadap file AAR di blokdependencies. Kode berikut merupakan contoh:dependencies { implementation fileTree(dir: 'libs', include: ['*.aar']) }
Integrasi Real-Time Streaming (RTS) (opsional)
Jika Anda perlu mengintegrasikan komponen Real-Time Streaming (RTS), lihat Implementasikan penarikan aliran RTS di Android.
Langkah 2: Konfigurasikan lisensi
Jika Anda menggunakan layanan di wilayah luar Tiongkok daratan, Hong Kong (Tiongkok), dan Makau (Tiongkok), gunakan salah satu metode berikut untuk mengonfigurasi lingkungan internasional.
Metode 1: Panggil API berikut untuk memperbarui konfigurasi default ke lingkungan internasional.
// Untuk menggunakan layanan di wilayah luar Tiongkok daratan, Hong Kong (Tiongkok), dan Makau (Tiongkok), // panggil API ini untuk mengatur lingkungan internasional sebelum memanggil API player lainnya. // Semua operasi selanjutnya akan berjalan di lingkungan ini. // Lingkungan tidak dapat diubah saat waktu proses. AlivcBase.getEnvironmentManager().setGlobalEnvironment(AlivcEnv.GlobalEnv.ENV_SEA);Metode 2 (disarankan): Untuk player SDK V7.6.0 dan yang lebih baru, Anda dapat mengonfigurasi lingkungan internasional menggunakan metode
XML.Tambahkan node
<meta-data>ke fileAndroidManifest.xmlAnda.<meta-data android:name="com.aliyun.alivc_env" android:value="SEA"/>Contoh konfigurasi sebagai berikut:
<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>
Untuk mengonfigurasi lisensi untuk Android, lihat Konfigurasikan lisensi untuk Android.
Langkah 3: Konfigurasikan izin
Di file app/src/main/AndroidManifest.xml Anda, deklarasikan izin yang diperlukan:
<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" />Langkah 4: Mengonfigurasi obfuskasi
Tambahkan konfigurasi obfuscation ke file proguard-rules.pro Anda. Kode berikut merupakan contoh:
-keep class com.alivc.**{*;}
-keep class com.aliyun.**{*;}
-keep class com.cicada.**{*;}
-dontwarn com.alivc.**
-dontwarn com.aliyun.**
-dontwarn com.cicada.**Langkah 5: Aktifkan logging (opsional)
Mengaktifkan log membantu Anda dengan cepat menemukan dan memecahkan masalah. Log juga menyediakan data untuk optimasi performa dan peningkatan pengalaman pengguna. Untuk informasi tentang cara memperoleh log, lihat Peroleh log SDK.
// Aktifkan sakelar log.
Logger.getInstance(context).enableConsoleLog(true);
// Atur tingkat log. Tingkat default adalah AF_LOG_LEVEL_INFO. Untuk memecahkan masalah, Anda dapat mengaturnya ke AF_LOG_LEVEL_TRACE.
Logger.getInstance(context).setLogLevel(Logger.LogLevel.AF_LOG_LEVEL_INFO);Struktur proyek
Nama file | Deskripsi |
AliyunPlayer-x.x.x-full.aar | Paket AAR lengkap yang mencakup pustaka dinamis FFmpeg. |
AliyunPlayer-x.x.x-part.aar | Paket AAR yang tidak mencakup pustaka dinamis FFmpeg. |
AlivcArtp-x.x.x.aar | Mendukung protokol ARTP. Paket ini opsional. |
AlivcArtc-x.x.x.aar | Mendukung protokol ARTC. Paket ini opsional. |
Jika Anda tidak mengintegrasikan SDK video pendek, tambahkan dependensi pada paket
AliyunPlayer-x.xx.x-full.aar.Jika Anda mengintegrasikan Player SDK dan SDK video pendek secara bersamaan, gunakan paket
AliyunPlayer-x.x.x-partuntuk dependensi Player SDK. Anda juga harus menggunakan versi FFmpeg bersama dengan menambahkan dependensi pada paketcom.aliyun.video.android:AlivcFFmpeg:x.x.x.Menggunakan paket SDK yang salah saat integrasi dapat menyebabkan konflik FFmpeg.
FAQ
Untuk masalah umum dan solusinya, lihat FAQ tentang ApsaraVideo Player.