Dokumen ini menjelaskan cara mengintegrasikan AliPlayerKit secara cepat, mulai dari inisialisasi global hingga integrasi lapisan komponen dan lapisan skenario.
Sebelum memulai, pastikan Anda telah mengonfigurasi lingkungan dan menambahkan dependensi yang diperlukan sebagaimana dijelaskan dalam Persiapan integrasi.
Kiat Ramah AI: Dokumen ini disusun agar mudah diurai oleh AI. Anda dapat menggunakannya sebagai Skills untuk mempercepat alur kerja pengembangan Anda.
API minimalis AliPlayerKit memungkinkan Anda mengintegrasikan fitur pemutaran video dengan kode yang ringkas.
Pilih opsi integrasi
AliPlayerKit menggunakan arsitektur berlapis, menyediakan integrasi lapisan komponen dan lapisan skenario. Pilih opsi yang paling sesuai dengan kebutuhan bisnis Anda:
Opsi integrasi | Modul | Deskripsi | Kasus penggunaan |
Integrasi lapisan komponen |
| Menggunakan modul inti | Memerlukan UI pemutar kustom atau kontrol fleksibel atas perilaku pemutaran. |
Integrasi lapisan skenario |
| Menyediakan solusi lengkap yang telah dibuat sebelumnya untuk skenario umum, dibangun di atas lapisan komponen. | Menerapkan dengan cepat skenario pemutaran standar, seperti video panjang, video pendek, dan live streaming. |
Lapisan skenario bergantung pada lapisan komponen, sehingga Anda harus menyelesaikan integrasi lapisan komponen terlebih dahulu.
Inisialisasi global
Panggil AliPlayerKit.init() di Application.onCreate() untuk inisialisasi global. Metode ini hanya boleh dipanggil sekali selama siklus hidup aplikasi guna menginisialisasi inti pemutar dan pengaturan global.
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
// Inisialisasi pengaturan global untuk AliPlayerKit.
AliPlayerKit.init(this);
}
}class MyApplication : Application() {
override fun onCreate() {
super.onCreate()
// Inisialisasi pengaturan global untuk AliPlayerKit.
AliPlayerKit.init(this)
}
}AliPlayerKit menyediakan metode konfigurasi global lainnya, seperti setPlayerViewType() dan setDisableScreenshot(). Untuk detailnya, lihat Referensi API.
Opsi 1: Integrasi lapisan komponen
Lapisan komponen (modul playerkit) menyediakan komponen UI pemutar siap pakai yang dapat dikonfigurasi. Ikuti langkah-langkah berikut untuk menerapkan fungsi pemutaran di setiap halaman yang memerlukan pemutaran video.
Langkah 1: Tambahkan tampilan pemutar
Tambahkan AliPlayerView ke file layout XML Anda:
<!-- Tampilan komponen pemutar -->
<com.aliyun.playerkit.AliPlayerView
android:id="@+id/player_view"
android:layout_width="match_parent"
android:layout_height="match_parent" /> Tempatkan AliPlayerView langsung ke dalam layout Anda, dengan lebar dan tinggi yang disesuaikan kebutuhan. Jika diperlukan wadah luar (misalnya, untuk mendukung perpindahan mode layar penuh), Anda dapat membungkusnya dalam FrameLayout atau wadah lainnya.
Langkah 2: Sambungkan controller dan mulai pemutaran
Jika aplikasi Anda mendukung perpindahan ke mode layar penuh, Anda harus mengonfigurasi atribut android:configChanges untuk Activity pemutar di AndroidManifest.xml. Hal ini mencegah Activity dibuat ulang saat layar diputar, yang jika tidak akan menyebabkan kehilangan status pemutaran.
<application>
<activity
android:name=".VideoPlayerActivity"
android:configChanges="orientation|screenSize"
...>
</activity>
</application>Setelah konfigurasi ini, rotasi layar tidak akan memicu pembuatan ulang Activity, sehingga status pemutar tetap terjaga.
Di Activity atau Fragment Anda, buat controller, konfigurasi data, lalu sambungkan ke tampilan:
public class VideoPlayerActivity extends AppCompatActivity {
private AliPlayerView playerView;
private AliPlayerController controller;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_video_player);
// 1. Dapatkan tampilan pemutar.
playerView = findViewById(R.id.player_view);
// 2. Buat controller pemutar.
controller = new AliPlayerController(this);
// 3. Konfigurasi data pemutaran (VidAuth direkomendasikan).
AliPlayerModel model = new AliPlayerModel.Builder()
.videoSource(VideoSourceFactory.createVidAuthSource(
"your_video_id", // Video ID
"your_playback_credential" // Kredensial pemutaran
))
.coverUrl("https://example.com/cover.jpg") // Ganti dengan URL gambar sampul aktual Anda.
.videoTitle("Sample Video")
.autoPlay(true)
.build();
// 4. Sambungkan controller ke tampilan.
playerView.attach(controller, model);
}
@Override
protected void onDestroy() {
super.onDestroy();
// 5. Putuskan sambungan dan lepaskan sumber daya.
playerView.detach();
}
}class VideoPlayerActivity : AppCompatActivity() {
private lateinit var playerView: AliPlayerView
private lateinit var controller: AliPlayerController
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_video_player)
// 1. Dapatkan tampilan pemutar.
playerView = findViewById(R.id.player_view)
// 2. Buat controller pemutar.
controller = AliPlayerController(this)
// 3. Konfigurasi data pemutaran (VidAuth direkomendasikan).
val model = AliPlayerModel.Builder()
.videoSource(VideoSourceFactory.createVidAuthSource(
"your_video_id", // Video ID
"your_playback_credential" // Kredensial pemutaran
))
.coverUrl("https://example.com/cover.jpg") // Ganti dengan URL gambar sampul aktual Anda.
.videoTitle("Sample Video")
.autoPlay(true)
.build()
// 4. Sambungkan controller ke tampilan.
playerView.attach(controller, model)
}
override fun onDestroy() {
super.onDestroy()
// 5. Putuskan sambungan dan lepaskan sumber daya.
playerView.detach()
}
}Jika Anda belum memiliki Video ID dan kredensial pemutaran, Anda dapat menggunakan data sampel yang tersedia di SceneConstants.java untuk menjalankan contoh secara cepat guna pengujian.
Langkah 3 (Opsional): Tangani tombol back
Jika aplikasi Anda mendukung pemutaran layar penuh, Anda perlu menangani event tombol back di Activity Anda:
@Override
public void onBackPressed() {
// Jika dalam mode layar penuh, keluar dari mode layar penuh.
if (playerView.onBackPressed()) {
return; // Event ditangani, jangan lakukan aksi default.
}
super.onBackPressed(); // Event tidak ditangani, lakukan aksi default.
}@Deprecated("Deprecated in Java")
override fun onBackPressed() {
// Jika dalam mode layar penuh, keluar dari mode layar penuh.
if (playerView.onBackPressed()) {
return // Event ditangani, jangan lakukan aksi default.
}
super.onBackPressed() // Event tidak ditangani, lakukan aksi default.
}Untuk deskripsi API lengkap setiap komponen, lihat Referensi API. Untuk alur panggilan API inti, lihat Kemampuan inti.
Opsi 2: Integrasi lapisan skenario
Lapisan skenario menyediakan solusi pemutaran lengkap untuk skenario bisnis tertentu, seperti video panjang, video pendek, dan live streaming. Lapisan skenario dibangun di atas lapisan komponen dan siap digunakan tanpa perlu pengembangan tambahan.
Langkah 1: Pilih modul skenario
Modul skenario terletak di direktori playerkit-scenes. Modul yang tersedia meliputi:
Modul Adegan | Deskripsi |
| Modul skenario umum (wajib). Modul skenario lain bergantung padanya. |
| Menyediakan solusi lengkap untuk pemutaran video panjang. |
| Menyediakan solusi lengkap untuk pemutaran video pendek berbasis swipe. |
| Menyediakan solusi lengkap untuk pemutaran live streaming. |
| Menyediakan solusi lengkap untuk pemutaran daftar putar. |
Langkah 2: Launch halaman skenario
Setelah mengintegrasikan modul skenario, Anda dapat meluncurkan halaman skenario dengan salah satu dari dua cara berikut:
Metode 1: Navigasi Intent
// Navigasi ke skenario video panjang.
Intent intent = new Intent(this, LongVideoActivity.class);
startActivity(intent);// Navigasi ke skenario video panjang.
val intent = Intent(this, LongVideoActivity::class.java)
startActivity(intent)Metode 2: Navigasi Schema
Modul skenario mendukung navigasi schema untuk memulai skenario pemutaran tertentu. Schema untuk setiap skenario didefinisikan di AndroidManifest.xml modul yang bersangkutan. Anda dapat menemukan URL schema spesifik di dalam tag <data> yang berada di dalam <intent-filter>.
Sebagai contoh, jika konfigurasi di AndroidManifest.xml adalah sebagai berikut:
<data
android:host="scenes"
android:path="/longvideo"
android:scheme="playerkit" /> Buat URL schema sebagai berikut:
playerkit://scenes/longvideo // Navigasi ke skenario target (ganti dengan URL schema aktual).
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("your_schema_url_here"));
startActivity(intent);// Navigasi ke skenario target (ganti dengan URL schema aktual).
val intent = Intent(Intent.ACTION_VIEW).apply {
data = Uri.parse("your_schema_url_here")
}
startActivity(intent)Contoh dan ekstensi
Anda kini telah menyelesaikan integrasi dasar AliPlayerKit dan menerapkan pemutaran video.
Untuk contoh lebih lanjut, lihat direktori berikut:
playerkit-examples: Menyediakan contoh penggunaan API umum.playerkit-scenes: Menyediakan solusi untuk skenario pemutaran khas.