AliPlayerWidget menyediakan serangkaian API lengkap untuk mengontrol perilaku pemutar. AliPlayerWidgetController mengekspos API tersebut guna mendukung fitur seperti kontrol pemutaran, kueri status, dan pembaruan data.
API Umum
Konfigurasi dan inisialisasi
Nama API | Deskripsi |
| Konfigurasikan sumber data dan inisialisasi pemutar. |
| Memicu proses persiapan pemutar secara manual. |
| Hapus instans pemutar dan lepas semua sumber daya terkait. |
Kontrol pemutaran
Nama API | Deskripsi |
| Memulai pemutaran video. |
| Menghentikan sementara pemutaran. |
| Menghentikan pemutaran dan mengatur ulang pemutar. |
| Melompat ke posisi pemutaran tertentu. |
| Beralih antara status memutar dan jeda. |
| Memutar ulang video. Biasanya digunakan untuk memulai ulang pemutaran setelah selesai. |
Properti pemutaran
Nama API | Deskripsi |
| Mengatur kecepatan pemutaran. |
| Mengatur volume. |
| Menyesuaikan volume berdasarkan delta yang ditentukan. |
| Mengatur kecerahan layar. (Developer harus mengimplementasikan logika dasarnya.) |
| Menyesuaikan kecerahan layar berdasarkan delta yang ditentukan. (Developer harus mengimplementasikan logika dasarnya.) |
| Mengatur apakah video diputar berulang. |
| Mengatur apakah pemutar dalam mode bisu. |
| Mengatur mode pencerminan, seperti pencerminan horizontal atau vertikal. |
| Mengatur sudut rotasi, seperti 90° atau 180°. |
| Mengatur mode penskalaan, seperti stretch atau crop. |
Pengalihan kualitas video
Nama API | Deskripsi |
| Mengalihkan kualitas video. |
Gambar mini
Nama API | Deskripsi |
| Meminta gambar mini untuk timestamp tertentu. |
Fitur lainnya
API berikut telah dipindahkan ke AliPlayerWidgetGlobalSetting. Gunakan langsung:
Nomor versi:
AliPlayerWidgetGlobalSetting.kWidgetVersion.Bersihkan cache:
AliPlayerWidgetGlobalSetting.clearCaches().
Notifikasi peristiwa
AliPlayerWidgetController menyediakan serangkaian objek ValueNotifier yang mengirimkan notifikasi real-time mengenai perubahan status pemutar dan interaksi pengguna.
Manajemen status pemutaran
Notifier | Deskripsi |
| Memberi notifikasi perubahan status pemutaran (misalnya, sedang memutar, dijeda, atau dihentikan). |
| Memberi notifikasi kesalahan pemutaran, menyertakan kode kesalahan dan pesan. |
| Memberi notifikasi saat frame pertama dirender. |
Manajemen progres pemutaran
Notifier | Deskripsi |
| Memberi notifikasi posisi pemutaran saat ini secara real-time, dalam milidetik. |
| Memberi notifikasi progres buffering, menunjukkan rentang konten yang telah di-cache. |
| Memberi notifikasi durasi total video, yang dapat digunakan untuk menghitung progres atau menampilkan panjang video. |
Kontrol volume dan kecerahan
Notifier | Deskripsi |
| Memberi notifikasi perubahan volume. Level berkisar dari 0,0 hingga 1,0. |
| Memberi notifikasi perubahan kecerahan layar. Level berkisar dari 0,0 hingga 1,0. |
| Memberi notifikasi perubahan kecepatan pemutaran. |
Status properti pemutaran
Notifier | Deskripsi |
| Memberi notifikasi perubahan status loop. |
| Memberi notifikasi perubahan status bisu. |
| Memberi notifikasi perubahan mode pencerminan. |
| Memberi notifikasi perubahan sudut rotasi. |
| Memberi notifikasi perubahan mode penskalaan. |
Kualitas video dan gambar mini
Notifier | Deskripsi |
| Memberi notifikasi perubahan kualitas video saat ini (misalnya, SD, HD, atau UHD) dan menyediakan detail setelah pengalihan. |
| Menyediakan daftar semua track kualitas video yang tersedia. |
| Memberi notifikasi status pemuatan gambar mini, yang memungkinkan pratinjau real-time saat melakukan seek. |
Subtitel
Notifier | Deskripsi |
| Memberi notifikasi perubahan informasi subtitle eksternal. |
| Memberi notifikasi perubahan indeks track subtitle saat ini. |
| Memberi notifikasi perubahan visibilitas subtitle. |
Status lainnya
Notifier | Deskripsi |
| Memberi notifikasi perubahan dimensi video. |
| Memberi notifikasi perubahan status file snapshot. |
| Memberi notifikasi perubahan status unduhan. |
Penggunaan
Untuk memperbarui UI atau menjalankan logika secara real-time, gunakan ValueListenableBuilder guna mendengarkan perubahan dari ValueNotifier.
// Dengarkan kesalahan pemutaran
ValueListenableBuilder<Map<int?, String?>?>(
valueListenable: _controller.playErrorNotifier,
builder: (context, error, _) {
if (error != null) {
final errorCode = error.keys.firstOrNull;
final errorMsg = error.values.firstOrNull;
return Text("Kesalahan pemutaran: [$errorCode] $errorMsg");
}
return const SizedBox.shrink();
},
);Dokumentasi API
Untuk dokumentasi API lengkap dan petunjuk penggunaan, lihat dokumentasi resmi di Pub:
Sumber resmi: Referensi API di pub.dev.
Mirror domestik: Referensi API di pub.flutter-io.cn.
Dokumentasi resmi menyediakan penjelasan rinci untuk setiap API, termasuk parameter, nilai kembali, dan contoh penggunaan tambahan.