Topik ini menjelaskan cara mengintegrasikan ApsaraVideo Player SDK untuk Android dalam skenario pemutaran video pendek yang hanya memerlukan komponen player. Jika Anda juga perlu membuat video pendek, integrasikan all-in-one SDK untuk Android. Jika tidak, masalah duplikasi kelas dapat terjadi dan menyebabkan kegagalan kompilasi.
Persyaratan lingkungan
Gunakan versi terbaru Android Studio. Anda dapat mengunduhnya dari Android Studio.
Sistem operasi: Android 4.3 atau yang lebih baru.
Arsitektur perangkat: Perangkat harus menggunakan arsitektur armv7 atau arm64.
ApsaraVideo Player SDK untuk Android tidak mendukung emulator. Anda harus menjalankan aplikasi pada perangkat fisik setelah integrasi.
Prasyarat
Anda telah mendaftar dan memperoleh file lisensi untuk otorisasi player:
AliVideoCert-********.crt. Untuk informasi selengkapnya, lihat Dapatkan lisensi.Jika Anda berencana mengintegrasikan SDK secara lokal, unduh paket ApsaraVideo Player SDK untuk Android. Kami menyarankan Anda mengunduh versi terbaru.
Langkah 1: Integrasikan SDK
Integrasi menggunakan Gradle
Pastikan perangkat Anda terhubung ke jaringan dan dapat mengakses Repositori Maven Alibaba Cloud.
Tambahkan konfigurasi Maven.
Integrasi dengan Gradle 7.x atau lebih baru
Konfigurasikan file
setting.gradleproyek Anda sebagai berikut:dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() jcenter() // jcenter() akan segera ditinggalkan. Kami menyarankan Anda secara bertahap menggantinya dengan mavenCentral(). maven { url "https://maven.aliyun.com/repository/releases" } } }dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() jcenter() // jcenter() akan segera ditinggalkan. Kami menyarankan Anda secara bertahap menggantinya dengan mavenCentral(). maven("https://maven.aliyun.com/repository/releases") } }Integrasi dengan versi Gradle sebelum 7.0
Konfigurasikan file
build.gradleproyek Anda sebagai berikut:allprojects { repositories { google() mavenCentral() jcenter() // jcenter() akan segera ditinggalkan. Kami menyarankan Anda secara bertahap menggantinya dengan mavenCentral(). maven { url "https://maven.aliyun.com/repository/releases" } } }allprojects { repositories { google() mavenCentral() jcenter() // jcenter() akan segera ditinggalkan. Kami menyarankan Anda secara bertahap menggantinya dengan mavenCentral(). maven("https://maven.aliyun.com/repository/releases") } }
Impor SDK pemutar.
Ubah file build.gradle aplikasi Anda untuk menambahkan SDK player ke node dependencies. Contoh konfigurasi sebagai berikut:
CatatanPastikan Anda menentukan nomor versi yang benar untuk SDK player. Jika tidak, error akan dilaporkan dan impor gagal. Anda dapat menemukan nomor versi terbaru di Catatan rilis ApsaraVideo Player SDK untuk Android.
dependencies { // AliPlayer SDK implementation 'com.aliyun.sdk.android:AliyunPlayer:7.10.0-full' }dependencies { // AliPlayer SDK implementation("com.aliyun.sdk.android:AliyunPlayer:7.9.0-full") }
Integrasi secara lokal
Jika Anda tidak dapat mengunduh paket SDK player dari Repositori Maven karena masalah jaringan, Anda dapat mengintegrasikan SDK secara lokal.
Langkah-langkah berikut menggunakan Android Studio Flamingo | 2022.2.1 sebagai contoh. Prosedurnya serupa untuk versi Android Studio lainnya.
Salin paket AAR yang diperlukan ke folder libs proyek Anda. Jika folder libs belum ada, buatlah.

Ubah file build.gradle dalam proyek Anda untuk menambahkan pengaturan flatDir ke node repositories dalam allprojects. Contoh konfigurasi sebagai berikut:
flatDir { dirs 'libs' }Ubah file build.gradle aplikasi Anda untuk menambahkan referensi ke paket AAR dalam node dependencies. Contoh konfigurasi sebagai berikut:
dependencies { implementation fileTree(dir: 'libs', include the following: ['*.aar']) }
Integrasikan RTS SDK (Opsional)
Untuk mengintegrasikan komponen Streaming Real-Time (RTS), lihat Menerapkan penarikan aliran RTS di Android.
Langkah 2: Konfigurasikan lisensi
Jika Anda menggunakan lingkungan global, yang tidak mencakup Daratan Tiongkok, Hong Kong (Tiongkok), dan Makau (Tiongkok), Anda harus memilih salah satu metode berikut untuk mengonfigurasi lingkungan untuk Alibaba Cloud International Website (www.alibabacloud.com).
Metode 1: Panggil Operasi API berikut untuk memperbarui konfigurasi default ke lingkungan Alibaba Cloud International Website.
// Jika Anda menggunakan lingkungan global, yang tidak mencakup Daratan Tiongkok, Hong Kong (Tiongkok), dan Makau (Tiongkok), pastikan Anda memanggil Operasi API berikut untuk memperbarui konfigurasi default ke lingkungan Alibaba Cloud International Website sebelum memanggil operasi API player apa pun. Hal ini memastikan semua layanan selanjutnya berjalan di lingkungan Alibaba Cloud International Website. // Tetapkan lingkungan Alibaba Cloud International Website menggunakan antarmuka AlivcBase terpadu. Anda tidak dapat mengubah lingkungan saat waktu proses. AlivcBase.getEnvironmentManager().setGlobalEnvironment(AlivcEnv.GlobalEnv.ENV_SEA);Metode 2 (Direkomendasikan): Untuk player SDK V7.6.0 atau yang lebih baru, Anda dapat menggunakan metode
XMLuntuk mengonfigurasi lingkungan Alibaba Cloud International Website.Tambahkan node
<meta-data>ke fileAndroidManifest.xml.<meta-data android:name="com.aliyun.alivc_env" android:value="SEA"/>Contoh konfigurasi ditunjukkan pada gambar berikut:

Untuk menambahkan lisensi pada client Android, lihat Tambahkan lisensi pada client Android.
Langkah 3: Konfigurasikan izin
Deklarasikan semua izin yang diperlukan dalam file app/src/main/AndroidManifest.xml:
<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: Konfigurasikan obfuscation
Konfigurasikan obfuscation dalam file proguard-rules.pro. Contoh kode sebagai berikut:
-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 logging membantu Anda dengan cepat menemukan dan memecahkan masalah. Logging juga menyediakan data untuk optimasi performa dan peningkatan pengalaman pengguna. Anda dapat memutuskan apakah akan mengaktifkan logging berdasarkan skenario bisnis Anda. Untuk mendapatkan log, lihat Dapatkan log SDK.
// Aktifkan logging.
Logger.getInstance(context).enableConsoleLog(true);
// Tetapkan tingkat log. Tingkat default adalah AF_LOG_LEVEL_INFO. Untuk memecahkan masalah, Anda dapat mengatur tingkat menjadi 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 berisi library dinamis FFmpeg. |
AliyunPlayer-x.x.x-part.aar | Paket AAR yang tidak berisi library 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, Anda dapat menambahkan dependensi langsung pada paket AliyunPlayer-x.xx.x-full.aar.
Jika Anda mengintegrasikan SDK player dan SDK video pendek, SDK player bergantung pada paket AliyunPlayer-x.x.x-part. Anda juga harus menggunakan versi FFmpeg yang kompatibel. Artinya, Anda perlu menambahkan dependensi pada paket com.aliyun.video.android:AlivcFFmpeg:x.x.x.
Jika Anda menggunakan paket SDK yang salah selama integrasi, konflik FFmpeg dapat terjadi.
Permasalahan integrasi umum
Untuk informasi selengkapnya tentang permasalahan integrasi umum dan solusinya, lihat FAQ tentang ApsaraVideo Player.