Flutter için ApsaraVideo Player SDK, mobil uygulamalara canlı akış ve video-on-demand (VOD) oynatma işlevlerini entegre etmenizi sağlar. Bu konuda canlı akış oynatma özelliği ele alınmaktadır.
Standart canlı akış oynatma
-
SDK'yı entegre edin.
Daha fazla bilgi için bkz. Flutter için ApsaraVideo Player SDK Entegrasyonu.
-
Canlı akış oynatmayı uygulayın.
-
Başlangıç adımlarını tamamlayın.
Temel özellikleri uygulamak için bkz. Başlarken.
-
Canlı akış kaynağını ayarlayın.
Flutter için ApsaraVideo Player SDK yalnızca UrlSource yöntemini destekler.
UrlSource
Bir canlı akışı oynatmak için setUrl özelliğini bir akış URL'sine ayarlayın. URL, üçüncü taraf bir URL veya ApsaraVideo Live tarafından oluşturulan bir URL olabilir.
ApsaraVideo Live konsolunda URL Oluşturucu kullanarak akış URL'leri oluşturabilirsiniz.
void onViewPlayerCreated(viewId) async { // Set the rendering view for the player. fAliplayer.setPlayerView(viewId); // Set the playback source. switch (_playMode) { // UrlSource playback method. case ModeType.URL: this.fAliplayer.setUrl("Enter the streaming URL"); // It can be a third-party streaming URL or a streaming URL from ApsaraVideo Live. break; default: } }
-
RTS oynatma
Bu bölümdeki sürüm numaraları yalnızca referans amaçlıdır. Bunları gereken gerçek sürümlerle değiştirin.
ApsaraVideo Player SDK ve Real-Time Streaming (RTS) SDK sürümleri uyumlu olmalıdır. Sürüm uyumluluğu için bkz. SDK indirme ve sürüm notları.
ApsaraVideo Player SDK sürüm numarası için bkz. Android SDK sürüm notları ve iOS SDK sürüm notları. RTS SDK sürüm numarası için bkz. Web SDK indirme ve sürüm geçmişi.
-
Android veya iOS için yerel SDK'yı entegre edin.
Android için aşağıdaki bağımlılıkları build.gradle dosyasına ekleyin.
dependencies{ def player_sdk_version = "7.2.0" def rts_sdk_version = "7.2.0" // The bridge layer between the player and RTS (AlivcArtc). The version number must match the player's version number. This must be integrated with the RTS component. implementation 'com.aliyun.sdk.android:AlivcArtc:$player_sdk_version' // The RTS component. It has an independent version number. implementation 'com.aliyun.rts.android:RtsSDK:$rts_sdk_version' }iOS için aşağıdaki bağımlılıkları Podfile'a ekleyin.
# player_sdk_version is the version number of the ApsaraVideo Player SDK for iOS, for example, 7.2.0. player_sdk_version = '7.2.0' # rts_sdk_version is the version number of the RTS SDK, which is independent, for example, 7.2.0. rts_sdk_version = '7.2.0' target 'Runner' do flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) # The bridge layer between the player and RTS (AlivcArtc). The version number must match the player's version number. This must be integrated with the RTS component. pod 'AliPlayerSDK_iOS_ARTC', player_sdk_version # The RTS component. pod 'RtsSDK', rts_sdk_version end
Bir ApsaraVideo Real-Time Communication (ARTC) akışını oynatmak için entegrasyon sırasında RTS bağımlılıklarını içe aktarın. Android'de ayrıca oynatıcıyı oluşturmadan önce RTS SDK dinamik kütüphanesini yüklemek için FlutterAliPlayerFactory.loadRtsLibrary(); çağrısını yapın.
-
pubspec.yamldosyasını yapılandırın.name: your_project description: A new Flutter project. version: 1.0.0+1 # The following line prevents the package from being accidentally published to # pub.dev using `pub publish`. This is preferred for private packages. publish_to: 'none' # Remove this line if you want to publish to pub.dev environment: sdk: ">=2.15.0 <4.0.0" dependencies: flutter: sdk: flutter // Add flutter_aliplayer. flutter_aliplayer: "7.3.1" dev_dependencies: flutter_test: sdk: flutter # For information on the generic Dart part of this file, see the # following page: https://dart.dev/tools/pub/pubspec # The following section is specific to Flutter. flutter: # The following line ensures that the Material Icons font is # included with your application, so that you can use the icons in # the material Icons class. uses-material-design: true -
RTS SDK'yı yükleyin.
NotAndroid için ApsaraVideo Player V7.3.1 veya önceki bir sürümünü kullanıyorsanız RTS SDK'yı manuel olarak yüklemeniz gerekir.
useAIOFramework=trueise tümleşik ApsaraVideo MediaBox SDK kullanılır. Aksi takdirde ApsaraVideo Player SDK ve RTS SDK kullanılır. Varsayılan değer: false.-
En son SDK sürümlerini kullanın:
ApsaraVideo MediaBox SDK için bkz. Android için ApsaraVideo MediaBox SDK Entegrasyonu ve iOS için ApsaraVideo MediaBox SDK Entegrasyonu.
ApsaraVideo Player SDK için bkz. ApsaraVideo Player SDK İndirme.
RTS bileşeni için bkz. Android'de RTS Akış Çekme Uygulaması ve iOS'ta RTS Tabanlı Akış Çekme Uygulaması.
dependencies { // Define the SDK kernel. def useAIOFramework = false // Define the SDK versions. // ApsaraVideo MediaBox SDK. def aio_sdk_version = "7.1.0" // ApsaraVideo Player SDK. def player_sdk_version = "7.2.0" // RTS component. def rts_sdk_version = "7.2.0" // Select the SDK based on the value of useAIOFramework. if (useAIOFramework) { // ApsaraVideo MediaBox SDK (interactive version): Push SDK (including RTS and ARTC co-streaming) + ApsaraVideo Player SDK. implementation "com.aliyun.aio:AliVCSDK_InteractiveLive:$aio_sdk_version" } else { // ApsaraVideo Player SDK. 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' }RTS SDK'yı manuel olarak yükleyin.
FlutterAliPlayerFactory.loadRtsLibrary(true); -
Videoyu oynatın.
FlutterAliplayer player = FlutterAliPlayerFactory.createAliPlayer(); player.setUrl("artc://xxxx"); player.prepare(); player.play();