Topik ini menjelaskan fitur inti AliPlayerKit, mencakup posisi produk, arsitektur inti, tanggung jawab komponen, antarmuka inti, serta detail keenam sistem intinya.
Posisi produk
Tujuan desain
AliPlayerKit dirancang sebagai lapisan arsitektur pemutaran universal—bukan hanya komponen UI pemutar—dengan tujuan berikut:
Tujuan desain | Deskripsi |
Integrasi low-code | Integrasikan skenario pemutaran lengkap dengan kode minimal. |
Cakupan multi-skenario | Mencakup berbagai skenario pemutaran, seperti video sesuai permintaan (VOD), live streaming, dan video pendek. |
Arsitektur reusable | Hindari pengembangan ulang fitur pemutar di berbagai layanan dengan menggunakan arsitektur slot dan kebijakan. |
Fondasi terpadu | Berperan sebagai fondasi terpadu untuk semua solusi pemutar dan solusi berbasis skenario. |
Lapisan arsitektur
Dalam hierarki arsitektur, AliPlayerKit berada di atas kernel pemutar dan mendukung fitur umum untuk berbagai layanan pemutaran melalui sistem komponen UI terpadu serta abstraksi skenario pemutaran.
Lapisan | Positioning | Lokasi modul | Tanggung jawab |
Lapisan komponen | Komponen UI pemutar |
| Menyediakan komponen UI pemutar siap pakai dan dapat dikonfigurasi yang mencakup fitur pemutaran dasar dan interaktif umum. |
Lapisan skenario | Solusi berbasis skenario |
| Menyediakan contoh integrasi standar untuk skenario khas, seperti drama pendek, video menengah dan panjang, serta live streaming. Hal ini membantu pelanggan membangun kemampuan pemutaran lengkap secara cepat dengan kode minimal. |
Arsitektur inti
AliPlayerKit menggunakan arsitektur inti 3+1 untuk membangun kerangka kerja pemutarnya:
Tiga antarmuka runtime: Antarmuka ini mengikuti pola arsitektur Model-View-Controller (MVC) yang memisahkan dan mendekopling tanggung jawab tampilan UI, kontrol pemutaran, dan konfigurasi data.
AliPlayerView: Komponen UI pemutar yang menangani rendering antarmuka dan interaksi pengguna (View).AliPlayerController: Komponen kontrol pemutaran yang menangani logika pemutaran dan manajemen status (Controller).AliPlayerModel: Komponen model data yang mengenkapsulasi konfigurasi pemutaran dan informasi media pemutar (Model).
Satu antarmuka global: Antarmuka ini menyediakan inisialisasi kerangka kerja dan manajemen fitur global, berperan sebagai titik masuk terpadu untuk kerangka kerja pemutar.
AliPlayerKit: Menginisialisasi kerangka kerja dan menyediakan fitur dasar seperti konfigurasi global, manajemen log, dan preloading.
Desain arsitektur
AliPlayerKit menerapkan arsitektur MVC klasik untuk membagi pemutar menjadi komponen-komponen independen.
Tanggung jawab komponen
Komponen | Jenis | Tanggung jawab | Siklus hidup |
| Titik masuk global | Konfigurasi global, manajemen cache, informasi versi. | Tingkat aplikasi |
| View | Tampilan UI, manajemen slot, binding siklus hidup. | Tingkat halaman |
| Controller | Kontrol pemutaran, manajemen status, distribusi event. | Tingkat halaman |
| Model | Enkapsulasi data konfigurasi, pola Builder. | Tingkat permintaan |
Antarmuka inti
Antarmuka inti yang dipanggil untuk setiap instans pemutar meliputi hal-hal berikut:
Antarmuka | Deskripsi |
| Membuat controller. |
| Membangun model data. |
| Kaitkan controller dengan data. |
| Melepaskan dan melepas sumber daya. |
| Menangani event tombol back (opsional). |
Untuk daftar lengkap metode dan deskripsi parameter masing-masing komponen, lihat Referensi API.
Urutan pemanggilan
Alur pemanggilan lengkap antarmuka inti mencakup seluruh siklus hidup, mulai dari pembuatan, binding, pemutaran, hingga pelepasan.
Untuk langkah-langkah integrasi lengkap, lihat Mulai Cepat.
Fitur inti
Sistem slot
Sistem slot membagi UI pemutar menjadi komponen-komponen independen. Setiap slot bertanggung jawab atas fitur tertentu, seperti bilah kontrol atas, bilah progres, atau gambar mini. Anda dapat menggabungkan komponen-komponen ini secara bebas—menggunakan antarmuka default untuk integrasi cepat, mengganti komponen sesuai kebutuhan, atau menyesuaikan sepenuhnya antarmuka tersebut. Komponen UI benar-benar terdekopling dari inti pemutar sehingga kustomisasi tidak memerlukan modifikasi kode sumber dan tidak berisiko menimbulkan konflik saat peningkatan. Skenario pemutaran berbeda dapat menggunakan kembali komponen slot yang sama, sehingga menghindari pengembangan berulang. Untuk informasi lebih lanjut, lihat Sistem slot.
Sistem kebijakan
Sistem kebijakan mengenkapsulasi logika bisnis pemutar ke dalam komponen kebijakan independen. Setiap kebijakan mengimplementasikan fitur tertentu, seperti statistik frame pertama, deteksi tersendat, perlindungan traffic, atau melanjutkan pemutaran. Anda dapat memperluas lapisan kebijakan tanpa mengubah inti kerangka kerja. Setiap kebijakan memiliki tanggung jawab tunggal dan terisolasi, dapat digunakan kembali di berbagai instans pemutar, serta diaktifkan atau dinonaktifkan sesuai kebutuhan. Peningkatan kerangka kerja dan kustomisasi bisnis tidak saling mengganggu. Untuk informasi lebih lanjut, lihat Sistem kebijakan.
Sistem event
Sistem event menggunakan pola publish-subscribe untuk mendekopling komponen AliPlayerKit. Komponen UI berlangganan event dan mengirim perintah tanpa menyimpan referensi ke controller. Controller memproses perintah dan menerbitkan status tanpa mengetahui pendengarnya. Arsitektur ini mendukung pengembangan dan pemeliharaan independen antara UI dan logika bisnis. Sistem ini juga secara alami mengisolasi komunikasi antar beberapa instans pemutar melalui event yang membawa playerId. Untuk informasi lebih lanjut, lihat Sistem event.
Kebijakan siklus hidup pemutar
Kebijakan siklus hidup pemutar mengelola pembuatan, penggunaan ulang, daur ulang, dan penghancuran instans. Kebijakan ini mencakup empat kebijakan bawaan: Default, Singleton, ReusePool, dan IdScopedPool, yang masing-masing cocok untuk skenario umum, pemutar tunggal, putar balik daftar, dan preloading. Anda cukup memilih kebijakan yang sesuai untuk menyeimbangkan performa dan sumber daya. Misalnya, menggunakan ReusePool untuk daftar video pendek dapat meningkatkan kelancaran scroll dan kecepatan frame pertama secara signifikan. Untuk informasi lebih lanjut, lihat Kebijakan siklus hidup pemutar.
Sistem log
Sistem log menyediakan pusat log terpadu, LogHub, yang mendukung output dan penyaringan multi-level, ekstensi listener, serta fitur lainnya. Hal ini memastikan bahwa node kunci selama waktu proses pemutar dapat dilacak sepenuhnya, membantu diagnosis masalah dan analisis performa. Anda dapat mengaktifkan log detail untuk debugging selama pengembangan dan menyederhanakan output di lingkungan produksi. Listener juga dapat digunakan untuk menulis log ke file atau melaporkannya ke server, memungkinkan tim dukungan teknis memecahkan masalah secara cepat. Untuk informasi lebih lanjut, lihat Sistem log.
Dukungan sumber video ganda
AliPlayerKit mendukung berbagai jenis sumber video. Kami merekomendasikan penggunaan metode VidAuth. Untuk informasi lebih lanjut, lihat Dukungan sumber video ganda.
Jenis sumber | Metode pembuatan | Skenario |
Sumber VidAuth |
| Metode yang direkomendasikan untuk VOD Alibaba Cloud (Direkomendasikan). |
Sumber VidSts |
| Menggunakan kredensial temporary dari Layanan Token Keamanan Alibaba Cloud (STS). |
Sumber URL |
| Live streaming atau skenario simple. |