Solusi mini drama untuk Flutter dibangun di atas AliPlayerWidget, sebuah komponen integrasi UI untuk Flutter.
Ikhtisar
AliPlayerWidget adalah komponen pemutaran video berkinerja tinggi yang dirancang untuk aplikasi Flutter dan dibangun di atas ApsaraVideo Player SDK (flutter_aliplayer). Komponen ini mendukung berbagai skenario pemutaran, termasuk video sesuai permintaan (VOD), streaming langsung, putar balik daftar, dan mini drama. Komponen ini menyediakan serangkaian fitur kaya serta kemampuan penyesuaian UI yang fleksibel untuk memenuhi kebutuhan berbagai aplikasi seperti pendidikan, hiburan, e-commerce, dan mini drama. Untuk informasi lebih lanjut, lihat Solusi Pemain Flutter dengan Integrasi UI.
aliplayer_widget_example adalah proyek contoh yang dibangun di atas pustaka Flutter aliplayer_widget. Proyek ini dirancang untuk membantu pengembang dengan cepat memahami cara mengintegrasikan dan menggunakan AliPlayerWidget dalam proyek mereka. Proyek ini menunjukkan cara menyiapkan dan menggunakan pemutaran daftar video pendek.
Persyaratan lingkungan
Item | Deskripsi |
Versi Flutter | 2.10.0 atau lebih baru. Kami merekomendasikan Anda menggunakan versi 3.22.2. |
Versi JDK | Kami merekomendasikan Anda menggunakan JDK 11. Catatan Metode konfigurasi JDK 11: Preferences > Build, Execution, Deployment > Build Tools > Gradle > Gradle JDK, pilih 11. Jika JDK 11 tidak tersedia, perbarui Android Studio Anda. |
Versi Android | Android 6.0 atau lebih baru. Gradle 7.0 atau lebih baru. |
Versi iOS | iOS 10.0 atau lebih baru. |
Prosesor ponsel | Arsitektur: armeabi-v7a atau arm64-v8a. |
Alat pengembangan | Kami merekomendasikan Anda menggunakan Android Studio atau Visual Studio Code. |
Prasyarat
Anda telah memperoleh lisensi Player SDK untuk Edisi Profesional, bersama dengan file otorisasi dan License Key yang sesuai. Untuk informasi lebih lanjut tentang cara mengikat lisensi, lihat Mengikat Lisensi.

Pengalaman demo
Unduh demo
aliplayer_widget bersifat open source dan dapat diunduh menggunakan beberapa metode. Jika Anda ingin menyesuaikan komponen, Anda dapat menggunakan dependensi kode sumber untuk mendapatkan dan memodifikasi kode sumber. Kode sumber lengkap dapat diperoleh melalui metode berikut:
Deskripsi unduhan | Tautan unduhan |
Sumber Pub |
Catatan Kami merekomendasikan agar pengembang mengintegrasikan aliplayer_widget melalui alat manajemen paket |
GitHub | |
Paket kode sumber |
Paket yang diunduh mencakup:
Komponen Inti: Implementasi lengkap dari
AliPlayerWidgetdanAliPlayerWidgetController.Proyek Contoh:
aliplayer_widget_examplemenyediakan contoh kode untuk skenario seperti VOD, streaming langsung, dan putar balik daftar untuk membantu pengembang dengan cepat mengintegrasikan dan menggunakan komponen tersebut.Dokumentasi dan Komentar: Kode sumber mencakup komentar terperinci dan panduan pengembangan untuk pengembangan kustom.
Metode integrasi
Tambahkan Dependensi Secara Manual
Tambahkan dependensi berikut ke file pubspec.yaml Anda:
dependencies:
aliplayer_widget: ^x.y.zx.y.z mewakili versi dari aliplayer_widget. Anda dapat melihat versi stabil terbaru di halaman resmi Pub.dev dan mengganti x.y.z dengan nilai sebenarnya, seperti ^7.0.0.
Gunakan Antarmuka Baris Perintah
Jika Anda ingin menggunakan antarmuka baris perintah untuk menginstal dependensi, jalankan perintah berikut:
flutter pub add aliplayer_widgetPerintah ini secara otomatis memperbarui file pubspec.yaml Anda.
Tidak peduli metode mana yang Anda pilih, jalankan perintah berikut di terminal untuk menginstal dependensi setelah menambahkannya:
flutter pub getSetelah Anda melakukan langkah-langkah sebelumnya, AliPlayerWidget diintegrasikan ke dalam proyek Anda, dan Anda dapat mulai menggunakannya.
Kompilasi dan menjalankan
Gunakan antarmuka baris perintah
Klon repositori.
Klon repositori
aliplayer_widget_exampleke penyimpanan lokal Anda:cd aliplayer_widget_exampleInstal Dependensi.
Jalankan perintah berikut untuk menginstal dependensi yang diperlukan untuk proyek:
flutter pub getKompilasi Proyek.
Kompilasi proyek Android
Jika Anda ingin mengompilasi proyek Android, lakukan sub-langkah berikut:
Instal Player SDK untuk Android dan Gradle.
Jalankan perintah berikut untuk menghasilkan file APK:
flutter build apkKompilasi proyek Android. Setelah kompilasi, file APK akan berada di
build/app/outputs/flutter-apk/app-release.apk.
Kompilasi proyek iOS
Jika Anda ingin mengompilasi proyek iOS, lakukan sub-langkah berikut:
Instal Xcode dan CocoaPods.
Inisialisasi dependensi CocoaPods:
cd ios && pod install && cd ..Jalankan perintah berikut untuk menghasilkan paket aplikasi iOS (file IPA):
flutter build ipaKompilasi proyek Android. Setelah kompilasi, file IPA akan berada di
build/ios/ipa/Runner.ipa.
Jalankan Demo.
Jalankan demo untuk Android.
flutter run lib/main.dartJalankan demo untuk iOS.
cd ios && pod install && cd ..//Jalankan pod install terlebih dahulu flutter run lib/main.dart
Gunakan IDE
Gunakan Android Studio
Buka Proyek.
Mulai Android Studio. Pilih
Buka Proyek yang Ada, navigasikan ke direktorialiplayer_widget_exampleyang diklon, dan buka.Instal Dependensi.
Di Android Studio, klik file
pubspec.yaml, lalu klik tombolPub Getdi pojok kanan atas untuk menginstal dependensi.Konfigurasikan Perangkat.
Pastikan perangkat Android terhubung.
Jalankan Aplikasi.
Klik tombol hijau
Rundi bilah alat, pilih perangkat target untuk memulai aplikasi.
Gunakan Visual Studio Code
Buka Proyek:
Luncurkan Visual Studio Code. Pilih
File -> Buka Folder, lalu navigasikan ke direktorialiplayer_widget_exampleyang diklon dan buka.Instal Dependensi:
Buka terminal dengan menekan
Ctrl + ~dan jalankan perintah berikut untuk menginstal dependensi:flutter pub getKonfigurasikan Perangkat:
Pastikan perangkat fisik Android atau iOS terhubung. Gunakan pemilih perangkat di pojok kiri bawah di Visual Studio Code untuk memilih perangkat target.
Jalankan Aplikasi.
Tekan
F5atau klik ikonJalankan dan Debugdi bilah aktivitas kiri, pilih konfigurasiFlutter, dan mulai sesi debugging.
Gunakan Xcode (hanya untuk iOS)
Buka Proyek.
Navigasikan ke direktori
ios, klik dua kali fileRunner.xcworkspaceuntuk membuka proyek di Xcode.Instal Dependensi CocoaPods.
Jika dependensi CocoaPods belum diinstal, jalankan perintah berikut di terminal:
cd ios && pod install && cd ..Konfigurasikan Penandatanganan.
Di Xcode, pilih proyek
Runner, masuk ke tabPenandatanganan & Kemampuan, dan konfigurasikan akun pengembang dan sertifikat penandatanganan yang valid.Jalankan Aplikasi.
Klik tombol jalankan
▶️di bilah alat Xcode, pilih perangkat target untuk memulai aplikasi.
Penggunaan
Halaman pemutaran daftar video pendek (ShortVideoPage)
Inti dari pemutaran video pendek adalah menyematkan beberapa instance AliPlayerWidget dalam daftar untuk mengaktifkan pemutaran daftar untuk beberapa video. Contoh kode berikut memberikan contoh:
@override
void initState() {
super.initState();
_pageController = PageController();
_loadVideoInfoList();
_pageController.addListener(_onPageChanged);
}
Widget build(BuildContext context) {
return Scaffold(
body: PageView.builder(
controller: _pageController,
itemCount: videoInfoList.length,
itemBuilder: (context, index) {
final videoInfo = videoInfoList[index];
return ShortVideoItem(videoInfo: videoInfo);
},
),
);
}Hasil: Halaman menampilkan daftar video. Setiap item daftar berisi instance pemain terpisah. Anda dapat menggeser untuk beralih antar video.
Untuk solusi optimasi lebih lanjut untuk skenario mini-drama, lihat proyek contoh aliplayer_widget_example.
Fitur inti
Komponen ini menggunakan ApsaraVideo Player SDK dan diimplementasikan dengan beberapa instance pemain (AliPlayer), pra-pemuatan (MediaLoader), dan pra-rendering. Ini memanfaatkan kemampuan inti, seperti pra-pemuatan, pra-rendering, HTTPDNS, dan pemutaran terenkripsi, untuk meningkatkan latensi pemutaran, stabilitas, dan keamanan untuk pengalaman menonton yang lebih baik.
Pra-pemuatan
Kebijakan jendela geser secara dinamis memulai dan menghentikan tugas pra-pemuatan video. Lapisan SDK yang mendasarinya secara cerdas menyesuaikan prioritas tugas berdasarkan status jaringan untuk memastikan bahwa lebih banyak sumber daya jaringan dialokasikan untuk video yang sedang diputar atau akan segera diputar. Ini meningkatkan laju pemutaran instan, mengurangi tersendatnya pemutaran, dan memungkinkan pemutaran yang lancar bahkan saat Anda menggeser video dengan cepat. Untuk informasi lebih lanjut, lihat Pra-pemuatan.
Pra-rendering
Pra-rendering merender frame pertama dari video berikutnya di latar belakang. Ini mengurangi layar hitam dan memastikan pemutaran yang lebih lancar. Apsara Video SDK dan ApsaraVideo Player SDK telah mendukung pra-rendering paksa sejak versi 6.16.0. Untuk informasi lebih lanjut, lihat Pra-rendering.
HTTPDNS
HTTPDNS menyediakan layanan resolusi Domain Name System (DNS) yang lebih cepat dan stabil. Dengan menggantikan resolusi DNS tradisional, HTTPDNS mengurangi waktu resolusi DNS dan meningkatkan kecepatan dan stabilitas pemuatan pemutaran video, yang meningkatkan pengalaman menonton pengguna. HTTPDNS diaktifkan secara default di Apsara Video SDK dan ApsaraVideo Player SDK versi 6.12.0 dan yang lebih baru. Untuk informasi lebih lanjut, lihat HTTPDNS.
Enkripsi video
Video dalam skenario mini drama biasanya adalah file MP4 dengan durasi 1 hingga 3 menit. Untuk memberikan keamanan pada video ini, Apsara Video SDK dan ApsaraVideo Player SDK telah mendukung enkripsi privat untuk pemutaran MP4 sejak versi 6.8.0. Untuk informasi lebih lanjut, lihat Enkripsi Video Alibaba Cloud (enkripsi privat).
Video MP4 yang dienkripsi secara privat harus memenuhi kondisi berikut untuk pemutaran:
Saat melewati video MP4 yang dienkripsi secara privat ke pemain, aplikasi harus menambahkan
etavirp_nuyila=1ke URL video. Sebagai contoh, jika URL video asli adalahhttps://example.aliyundoc.com/test.mp4, URL yang dilewatkan ke pemain harus menjadihttps://example.aliyundoc.com/test.mp4?etavirp_nuyila=1.UID lisensi aplikasi harus sama dengan UID yang digunakan untuk mengenkripsi privat file MP4.
Anda dapat menggunakan metode berikut untuk memverifikasi bahwa video dienkripsi secara privat:
Informasi meta video harus berisi tag
AliyunPrivateKeyUri.Video tidak dapat diputar secara langsung menggunakan ffplay.
Pemutaran adaptif H.265
Jika dekode perangkat keras untuk aliran H.265 gagal, pemain secara otomatis beralih ke aliran cadangan H.264 jika telah dikonfigurasi. Jika tidak ada aliran cadangan H.264 yang tersedia, pemain akan menggunakan dekode perangkat lunak untuk aliran H.265. Untuk informasi lebih lanjut, lihat Pemutaran Adaptif H.265.
ABR Adaptif
SDK pemain mendukung streaming bitrate adaptif untuk aliran video HLS dan DASH. Anda dapat menggunakan metode selectTrack pada pemain untuk beralih antar aliran yang sedang diputar. Fitur ini memungkinkan implementasi switching kualitas video secara adaptif berdasarkan kondisi jaringan. Untuk detail lebih lanjut, lihat Switching adaptif jaringan.
FAQ
Untuk pertanyaan yang sering diajukan dan tips pemecahan masalah terkait ApsaraVideo Player SDK, lihat FAQ Pemain.