Conheça os requisitos e limites para integrar o ApsaraVideo Player SDK for Flutter ao seu projeto.
Requisitos de ambiente
|
Categoria |
Descrição |
|
Versão do Flutter |
Compatível com Flutter 3.22.2, canal stable. |
|
Versão do Dart |
Compatível com Dart 3.4.3. |
|
Versão do SO |
Compatível com Android 6.0 ou superior. |
|
Chip do dispositivo |
Arquiteturas obrigatórias: armeabi-v7a e arm64-v8a. |
|
Ferramentas de desenvolvimento |
Recomendamos o uso do Android Studio ou do Visual Studio Code. |
Downloads do SDK
O ApsaraVideo Player SDK for Flutter deve corresponder à versão do seu Flutter SDK. Por exemplo, o ApsaraVideo Player SDK 5.4.0 exige o Flutter SDK 2.0 ou superior. Para detalhes sobre compatibilidade de versões, consulte Flutter SDK release history.
Flutter SDK: Flutter SDK
Versão mais recente do ApsaraVideo Player SDK for Flutter: ApsaraVideo Player SDK
Plugin do ApsaraVideo Player SDK for Flutter (para atualizações de correção): ApsaraVideo Player SDK for Flutter plugin
Descrição do projeto
O SDK do player para Flutter encapsula os SDKs nativos do ApsaraVideo Player para Android e iOS. O demo fornece o source code como uma dependência que você pode adicionar ao seu projeto.
Detalhes das pastas:
|
Nome do arquivo |
Descrição |
Obrigatório |
|
android |
Código nativo Android e SDK do player. |
Sim |
|
ios |
Código nativo iOS e SDK do player. |
Sim |
|
lib |
Código da API Flutter. |
Sim |
|
example |
Demo do player Flutter. |
Não |
Este SDK oferece suporte tanto a transmissão ao vivo quanto a reprodução. Para utilizar apenas a reprodução, altere o kernel do SDK da versão completa para a versão exclusiva de reprodução. Os exemplos a seguir utilizam o projeto de demo.
Android
-
Adicione o repositório Maven do Alibaba Cloud ao arquivo build.gradle no nível do projeto.
maven { url "https://maven.aliyun.com/nexus/content/repositories/releases" } -
Substitua o ApsaraVideo for MediaBox SDK (transmissão interativa) pelo ApsaraVideo Player SDK.
Defina a variável useAIOFramework no arquivo android/build.gradle do seu projeto.
Se useAIOFramework = false, serão utilizados o SDK exclusivo de reprodução e RTS stream pulling for Android. Caso useAIOFramework = true, será usada a versão Android (transmissão interativa), que oferece suporte à ingestão de fluxo para transmissões ao vivo, incluindo Real-Time Streaming (RTS) e co-transmissão baseada em Alibaba Real-Time Communication (ARTC), além de reprodução.
ImportanteAtualize a versão do kernel do SDK conforme necessário. Versões mais recentes: ApsaraVideo for MediaBox SDK, ApsaraVideo Player SDK e RTS Stream Pulling.
dependencies { // Define the SDK kernel. def useAIOFramework = false def aio_sdk_version = "x.x.x" // Latest version of ApsaraVideo for MediaBox SDK (interactive stream). def player_sdk_version = "x.x.x" // Latest version of ApsaraVideo Player SDK. def rts_sdk_version = "x.x.x" // Latest version of the RTS component. // Select the SDK based on the value of useAIOFramework. if (useAIOFramework) { // ApsaraVideo for MediaBox SDK (interactive stream): Supports stream ingest for live streaming (including RTS and RTC-based co-streaming) and playback. implementation "com.aliyun.aio:AliVCSDK_InteractiveLive:$aio_sdk_version" } else { // ApsaraVideo Player SDK. implementation "com.aliyun.sdk.android:AliyunPlayer:$player_sdk_version-full" // (Optional) RTS component SDK. implementation "com.aliyun.rts.android:RtsSDK:$rts_sdk_version" // (Optional) The AlivcArtc bridge layer between the player and RTS. The version number must be the same as the player SDK version. This layer must be integrated together with the RTS component. implementation "com.aliyun.sdk.android:AlivcArtc:$player_sdk_version" } }
iOS
Configure a variável useAIOFramework no arquivo flutter_aliplayer.podspec do seu projeto.
Quando useAIOFramework = false, o sistema utiliza o SDK exclusivo de reprodução e RTS stream pulling for iOS.
Se useAIOFramework = true, aplica-se a versão iOS (transmissão interativa), compatível com ingestão de fluxo para transmissões ao vivo, incluindo Real-Time Streaming (RTS) e co-transmissão baseada em RTC, além de reprodução.
Atualize a versão do kernel do SDK conforme necessário. Versões mais recentes: ApsaraVideo for MediaBox SDK, ApsaraVideo Player SDK e RTS Stream Pulling.
# Define the SDK kernel.
useAIOFramework = false
# Define the SDK versions.
aio_sdk_version = 'x.x.x'
player_sdk_version = 'x.x.x'
rts_sdk_version = 'x.x.x'
# Select the SDK based on the value of useAIOFramework.
if useAIOFramework
s.subspec 'AliVCSDKFrameworks' do |ss|
# ApsaraVideo for MediaBox SDK (interactive stream): Supports stream ingest for live streaming (including RTS and RTC-based co-streaming) and playback.
ss.dependency 'AliVCSDK_InteractiveLive', aio_sdk_version
end
else
s.subspec 'AliPlayerSDKFrameworks' do |ss|
# Standalone ApsaraVideo Player SDK for iOS.
ss.dependency 'AliPlayerSDK_iOS', player_sdk_version
ss.dependency 'AliPlayerSDK_iOS_ARTC', player_sdk_version
ss.dependency 'RtsSDK', rts_sdk_version
end
end
Limites
O ApsaraVideo Player SDK para Android não oferece suporte a emuladores. Após concluir a integração, execute seu aplicativo em um dispositivo físico.
Procedimento de integração
Estas etapas tomam o VS Code 1.65.2 como exemplo. O procedimento é semelhante para outras ferramentas de desenvolvimento.
Inicie o VS Code.
Escolha Visualize > Command Palette…
Insira flutter e escolha Flutter: New Project.
Insira um nome para o projeto, como myapp, e pressione Enter.
-
Após especificar o local do projeto, clique em no botão azul OK.
O projeto estará pronto quando o arquivo main.dart aparecer.
-
Integre o ApsaraVideo Player SDK for Flutter.
Para integrar rapidamente o ApsaraVideo Player SDK for Flutter, adicione a dependência flutter_aliplayer ao arquivo pubspec.yaml do seu projeto.
dependencies: flutter_aliplayer: ^7.0.0 # The version is the version number of the ApsaraVideo Player SDK for Flutter, for example, 7.0.0. Change the version number as needed. Opcional: Caso seu negócio exija suporte a RTS, adicione a dependência necessária. Para mais informações, consulte ApsaraVideo Player for Flutter.