Todos os produtos
Search
Central de documentação

ApsaraVideo Live:ApsaraVideo Player SDK for Flutter

Última atualização: Jun 30, 2026

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

  1. Integre o SDK.

    Para mais informações, consulte Integrar o ApsaraVideo Player SDK for Flutter.

  2. Implemente a reprodução de transmissão ao vivo.

    1. Primeiros passos.

      Para implementar recursos básicos, consulte Primeiros passos.

    2. 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

Nota
  • 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.

  1. 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
  2. Carregue o RTS SDK.

    Nota
    1. Se você usar o ApsaraVideo Player para Android V7.3.1 ou anterior, carregue manualmente o RTS SDK.

    2. 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.

    3. Use as versões mais recentes dos SDKs:

      1. Para o ApsaraVideo MediaBox SDK, consulte Integrar o ApsaraVideo MediaBox SDK para Android e Integrar o ApsaraVideo MediaBox SDK para iOS.

      2. Para o ApsaraVideo Player SDK, consulte Baixar o ApsaraVideo Player SDK.

      3. 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);
  3. Reproduza o vídeo.

    FlutterAliplayer player = FlutterAliPlayerFactory.createAliPlayer();
    player.setUrl("artc://xxxx");
    
    player.prepare();
    player.play();