O ApsaraVideo Player SDK for Flutter permite integrar a reprodução de transmissão ao vivo e vídeo sob demanda (VOD) em aplicativos móveis. Este tópico aborda o recurso de reprodução de transmissão ao vivo.
Reprodução padrão de transmissão ao vivo
-
Integre o SDK.
Para mais informações, consulte Integrar o ApsaraVideo Player SDK for Flutter.
-
Implemente a reprodução de transmissão ao vivo.
-
Primeiros passos.
Para implementar recursos básicos, consulte Primeiros passos.
-
Defina a origem da transmissão ao vivo.
O ApsaraVideo Player SDK for Flutter suporta apenas o método UrlSource.
UrlSource
Para reproduzir uma transmissão ao vivo, defina a propriedade setUrl com uma URL de streaming. A URL pode ser de terceiros ou gerada pelo ApsaraVideo Live.
Gere URLs de streaming no console do ApsaraVideo Live por meio do Gerador de URL.
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: } }
-
Reprodução RTS
Os números de versão nesta seção servem apenas como referência. Substitua-os pelas versões reais necessárias.
As versões do ApsaraVideo Player SDK e do SDK de Real-Time Streaming (RTS) devem ser compatíveis. Para verificar a compatibilidade, consulte Download do SDK e notas de lançamento.
Para obter o número de versão do ApsaraVideo Player SDK, consulte as Notas de lançamento do SDK para Android e as Notas de lançamento do SDK para iOS. Para o número de versão do RTS SDK, consulte o Histórico de downloads e lançamentos do Web SDK.
-
Integre o SDK nativo para Android ou iOS.
No Android, adicione as seguintes dependências ao arquivo build.gradle.
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' }No iOS, adicione as seguintes dependências ao Podfile.
# 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
Para reproduzir um fluxo ApsaraVideo Real-Time Communication (ARTC), importe as dependências RTS durante a integração. No Android, chame também FlutterAliPlayerFactory.loadRtsLibrary(); para carregar a biblioteca dinâmica do RTS SDK antes de criar o player.
-
Configure o arquivo
pubspec.yaml.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 -
Carregue o RTS SDK.
NotaSe você usar o ApsaraVideo Player para Android V7.3.1 ou anterior, carregue manualmente o RTS SDK.
Se
useAIOFramework=true, o sistema usa o ApsaraVideo MediaBox SDK all-in-one. Caso contrário, usa o ApsaraVideo Player SDK e o RTS SDK. Valor padrão: false.-
Use as versões mais recentes dos SDKs:
Para o ApsaraVideo MediaBox SDK, consulte Integrar o ApsaraVideo MediaBox SDK para Android e Integrar o ApsaraVideo MediaBox SDK para iOS.
Para o ApsaraVideo Player SDK, consulte Baixar o ApsaraVideo Player SDK.
Para o componente RTS, consulte Implementar pull de stream RTS no Android e Implementar pull de stream baseado em RTS no iOS.
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' }Carregue manualmente o RTS SDK.
FlutterAliPlayerFactory.loadRtsLibrary(true); -
Reproduza o vídeo.
FlutterAliplayer player = FlutterAliPlayerFactory.createAliPlayer(); player.setUrl("artc://xxxx"); player.prepare(); player.play();