Pemutar Video Apsara SDK untuk Flutter memberikan solusi efisien untuk mengintegrasikan fitur audio dan video ke dalam aplikasi seluler. Ini memungkinkan pengembang dengan cepat menerapkan skenario inti video seperti live streaming dan video sesuai permintaan (VOD). Topik ini menjelaskan fitur pemutaran live streaming dari Pemutar Video Apsara SDK untuk Flutter.
Pemutaran live streaming standar
Integrasi SDK.
Untuk informasi lebih lanjut, lihat Integrasi Pemutar Video Apsara SDK untuk Flutter.
Implementasikan pemutaran live streaming.
Mulai.
Untuk implementasi pemutaran dasar, lihat Memulai Cepat untuk Pemutar Video Apsara untuk Flutter.
Tetapkan sumber live stream.
Pemutar Video Apsara SDK untuk Flutter hanya mendukung metode UrlSource untuk pemutaran live stream.
Putar live stream menggunakan UrlSource
Untuk memutar live stream menggunakan metode UrlSource, atur properti setUrl pemain ke URL streaming. URL tersebut dapat berasal dari penyedia pihak ketiga atau URL penarikan aliran dari ApsaraVideo Live.
Anda dapat menggunakan Pembuat URL di Konsol ApsaraVideo Live untuk menghasilkan URL penarikan aliran. Untuk informasi lebih lanjut, lihat Pembuat URL ApsaraVideo Live.
void onViewPlayerCreated(viewId) async { // Set tampilan rendering untuk pemain. fAliplayer.setPlayerView(viewId); // Tetapkan sumber pemutaran. switch (_playMode) { // Metode pemutaran UrlSource. case ModeType.URL: this.fAliplayer.setUrl("Masukkan URL pemutaran sumber daya."); // URL pemutaran dapat berupa URL streaming pihak ketiga atau URL penarikan aliran dari ApsaraVideo Live. break; default: } }
Pemutaran live streaming RTS
Nomor versi yang disebutkan dalam bagian ini hanya untuk referensi. Gunakan nomor versi yang diperlukan untuk integrasi Anda.
Versi Pemutar Video Apsara SDK dan Streaming Real-Time (RTS) SDK harus kompatibel. Untuk informasi lebih lanjut tentang kompatibilitas versi, lihat Unduhan Web SDK dan Catatan Rilis.
Untuk nomor versi spesifik dari Pemutar Video Apsara SDK, lihat Riwayat Rilis Android SDK dan Riwayat Rilis iOS SDK. Untuk nomor versi RTS SDK, lihat Unduhan Web SDK dan Catatan Rilis.
Integrasi native SDK untuk Android atau iOS.
Untuk integrasi Android, tambahkan dependensi ke file build.gradle seperti yang ditunjukkan dalam contoh berikut.
dependencies{ def player_sdk_version = "7.2.0" def rts_sdk_version = "7.2.0" // Lapisan jembatan antara pemain dan RTS (AlivcArtc). Nomor versi harus sesuai dengan nomor versi pemain. Ini harus diintegrasikan dengan komponen RTS. implementation 'com.aliyun.sdk.android:AlivcArtc:$player_sdk_version' // Komponen RTS. Ini memiliki nomor versi independen. implementation 'com.aliyun.rts.android:RtsSDK:$rts_sdk_version' }Untuk integrasi iOS, tambahkan dependensi ke file Podfile seperti yang ditunjukkan dalam contoh berikut.
# player_sdk_version adalah nomor versi Pemutar Video Apsara SDK untuk iOS, misalnya, 7.2.0. player_sdk_version = '7.2.0' # rts_sdk_version adalah nomor versi RTS SDK, yang independen, misalnya, 7.2.0. rts_sdk_version = '7.2.0' target 'Runner' do flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) # Lapisan jembatan antara pemain dan RTS (AlivcArtc). Nomor versi harus sesuai dengan nomor versi pemain. Ini harus diintegrasikan dengan komponen RTS. pod 'AliPlayerSDK_iOS_ARTC', player_sdk_version # Komponen RTS. pod 'RtsSDK', rts_sdk_version end
Untuk memutar aliran Alibaba Real-Time Communication (ARTC), Anda harus mengimpor dependensi terkait RTS selama integrasi. Untuk Android, Anda juga harus memanggil FlutterAliPlayerFactory.loadRtsLibrary(); untuk memuat library dinamis RTS SDK sebelum membuat pemain. Contoh berikut menunjukkan proses ini:
Konfigurasikan file
pubspec.yaml.name: your_project description: Proyek Flutter baru. version: 1.0.0+1 # Baris berikut mencegah paket dipublikasikan secara tidak sengaja ke # pub.dev menggunakan `pub publish`. Ini lebih disukai untuk paket pribadi. publish_to: 'none' # Hapus baris ini jika Anda ingin mempublikasikan ke pub.dev environment: sdk: ">=2.15.0 <4.0.0" dependencies: flutter: sdk: flutter // Tambahkan flutter_aliplayer. flutter_aliplayer: "7.3.1" dev_dependencies: flutter_test: sdk: flutter # Untuk informasi tentang bagian Dart generik dari file ini, lihat halaman berikut: https://dart.dev/tools/pub/pubspec # Bagian berikut khusus untuk Flutter. flutter: # Baris berikut memastikan bahwa font Ikon Material termasuk # dengan aplikasi Anda, sehingga Anda dapat menggunakan ikon dalam # kelas Ikon Material. uses-material-design: trueMemuat RTS SDK.
CatatanJika Anda menggunakan Pemutar Video Apsara untuk Android V7.3.1 atau lebih lama, Anda harus memuat RTS SDK secara manual.
Jika
useAIOFramework=true, All-in-One Media SDK digunakan. Jika tidak, Pemutar Video Apsara SDK dan RTS SDK digunakan. Nilai default properti ini adalah false.Gunakan versi SDK terbaru:
Untuk All-in-One Media SDK, lihat All-in-One Media SDK untuk Android dan All-in-One Media SDK untuk iOS.
Untuk Pemutar Video Apsara SDK, lihat Unduh Pemutar Video Apsara SDK.
Untuk komponen RTS, lihat Implementasikan Penarikan Aliran RTS pada Android dan Implementasikan Penarikan Aliran RTS pada iOS.
dependencies { // Definisikan kernel SDK. def useAIOFramework = false // Definisikan versi SDK. // All-in-One Media SDK. def aio_sdk_version = "7.1.0" // Pemutar Video Apsara SDK. def player_sdk_version = "7.2.0" // Komponen RTS. def rts_sdk_version = "7.2.0" // Pilih SDK berdasarkan nilai useAIOFramework. if (useAIOFramework) { // All-in-One Media SDK (stream interaktif): pengambilan aliran (termasuk RTS dan RTC co-streaming) + pemain. implementation "com.aliyun.aio:AliVCSDK_InteractiveLive:$aio_sdk_version" } else { // Pemutar Video Apsara SDK mandiri. implementation "com.aliyun.sdk.android:AliyunPlayer:$player_sdk_version-full" implementation "com.aliyun.sdk.android:AlivcArtc:$player_sdk_version" implementation "com.aliyun.rts.android:RtsSDK:$rts_sdk_version" } implementation 'com.google.code.gson:gson:2.10.1' }Memuat RTS SDK secara manual.
FlutterAliPlayerFactory.loadRtsLibrary(true);Putar video.
FlutterAliplayer player = FlutterAliPlayerFactory.createAliPlayer(); player.setUrl("artc://xxxx"); player.prepare(); player.play();