Todos os produtos
Search
Central de documentação

ApsaraVideo VOD:Início rápido

Última atualização: Sep 11, 2026

Este documento explica como integrar rapidamente o AliPlayerKit, desde a inicialização global até a integração nas camadas de componente e de cena.

Nota

Antes de começar, verifique se você configurou o ambiente e adicionou as dependências necessárias conforme descrito em Integration preparations.

Nota

Dica para IA: Este documento foi estruturado para facilitar a análise por inteligência artificial. Utilize-o como Skills para acelerar seu fluxo de desenvolvimento.

A API minimalista do AliPlayerKit permite integrar recursos de reprodução de vídeo com pouco código.

Escolha uma opção de integração

O AliPlayerKit utiliza uma arquitetura em camadas e oferece integração tanto na camada de componente quanto na camada de cena. Escolha a opção mais adequada às necessidades do seu negócio:

Opção de integração

Módulo

Descrição

Caso de uso

Integração na camada de componente

playerkit

Utiliza o módulo principal playerkit, que inclui um componente de UI do player configurável.

Ideal quando é necessária uma UI personalizada ou controle flexível sobre o comportamento de reprodução.

Integração na camada de cena

playerkit-scenes

Oferece soluções completas e pré-construídas para cenários comuns, baseadas na camada de componente.

Recomendado para implementar rapidamente cenários padrão, como vídeos longos, vídeos curtos e transmissões ao vivo.

Nota

A camada de cena depende da camada de componente; portanto, conclua primeiro a integração da camada de componente.

Inicialização global

Chame AliPlayerKit.init() em Application.onCreate() para inicializar globalmente o sistema. Chame esse método apenas uma vez durante o ciclo de vida da aplicação para inicializar o núcleo do player e as configurações globais.

public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        // Initialize global settings for AliPlayerKit.
        AliPlayerKit.init(this);
    }
}
class MyApplication : Application() {
    override fun onCreate() {
        super.onCreate()
        // Initialize global settings for AliPlayerKit.
        AliPlayerKit.init(this)
    }
}
Nota

O AliPlayerKit fornece outros métodos de configuração global, como setPlayerViewType() e setDisableScreenshot(). Para mais detalhes, consulte API reference.

Opção 1: Integração na camada de componente

A camada de componente (módulo playerkit) oferece um componente de UI do player pronto para uso e configurável. Siga estas etapas para implementar a funcionalidade de reprodução em cada página que exija vídeo.

Etapa 1: Adicione a visualização do player

Adicione o AliPlayerView ao arquivo XML de layout:

<!-- Player component view -->
<com.aliyun.playerkit.AliPlayerView
    android:id="@+id/player_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />       

Insira o AliPlayerView diretamente no layout e defina a largura e a altura conforme necessário. Se precisar de um contêiner externo (por exemplo, para suportar alternância para tela cheia), envolva-o em um FrameLayout ou outro contêiner adequado.

Etapa 2: Vincule o controlador e inicie a reprodução

Importante

Se sua aplicação suportar alternância para tela cheia, configure o atributo android:configChanges para a Activity do player no arquivo AndroidManifest.xml. Isso evita que a Activity seja recriada ao girar a tela, o que causaria a perda do estado de reprodução.

<application>
    <activity
        android:name=".VideoPlayerActivity"
        android:configChanges="orientation|screenSize"
        ...>
    </activity>
</application>

Com essa configuração, a rotação da tela não aciona a recriação da Activity e preserva o estado do player.

Na Activity ou no Fragment, crie o controlador, configure os dados e vincule-o à visualização:

public class VideoPlayerActivity extends AppCompatActivity {

    private AliPlayerView playerView;
    private AliPlayerController controller;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_video_player);

        // 1. Get the player view.
        playerView = findViewById(R.id.player_view);

        // 2. Create the player controller.
        controller = new AliPlayerController(this);

        // 3. Configure playback data (VidAuth is recommended).
        AliPlayerModel model = new AliPlayerModel.Builder()
                .videoSource(VideoSourceFactory.createVidAuthSource(
                        "your_video_id",    // Video ID
                        "your_playback_credential"    // Playback credential
                ))
                .coverUrl("https://example.com/cover.jpg")  // Replace with your actual cover image URL.
                .videoTitle("Sample Video")
                .autoPlay(true)
                .build();

        // 4. Bind the controller to the view.
        playerView.attach(controller, model);
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        // 5. Detach and release resources.
        playerView.detach();
    }
}
class VideoPlayerActivity : AppCompatActivity() {

    private lateinit var playerView: AliPlayerView
    private lateinit var controller: AliPlayerController

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_video_player)

        // 1. Get the player view.
        playerView = findViewById(R.id.player_view)

        // 2. Create the player controller.
        controller = AliPlayerController(this)

        // 3. Configure playback data (VidAuth is recommended).
        val model = AliPlayerModel.Builder()
                .videoSource(VideoSourceFactory.createVidAuthSource(
                        "your_video_id",    // Video ID
                        "your_playback_credential"    // Playback credential
                ))
                .coverUrl("https://example.com/cover.jpg")  // Replace with your actual cover image URL.
                .videoTitle("Sample Video")
                .autoPlay(true)
                .build()

        // 4. Bind the controller to the view.
        playerView.attach(controller, model)
    }

    override fun onDestroy() {
        super.onDestroy()
        // 5. Detach and release resources.
        playerView.detach()
    }
}
Nota

Caso ainda não possua um ID de vídeo e uma credencial de reprodução, utilize os dados de exemplo disponíveis em SceneConstants.java para executar rapidamente o exemplo e testar a integração.

Etapa 3 (Opcional): Trate o botão Voltar

Se sua aplicação suportar reprodução em tela cheia, trate o evento do botão Voltar na Activity:

@Override
public void onBackPressed() {
    // If in full screen mode, exit full screen.
    if (playerView.onBackPressed()) {
        return;  // Event handled, do not perform the default action.
    }
    super.onBackPressed();  // Event not handled, perform the default action.
}
@Deprecated("Deprecated in Java")
override fun onBackPressed() {
    // If in full screen mode, exit full screen.
    if (playerView.onBackPressed()) {
        return  // Event handled, do not perform the default action.
    }
    super.onBackPressed()  // Event not handled, perform the default action.
}
Nota

Para descrições completas da API de cada componente, consulte API reference. Para o fluxo de chamadas da API principal, visualize Core capabilities.

Opção 2: Integração na camada de cena

A camada de cena oferece soluções completas de reprodução para cenários específicos de negócio, como vídeos longos, vídeos curtos e transmissões ao vivo. Construída sobre a camada de componente, ela está pronta para uso imediato, sem necessidade de desenvolvimento adicional.

Etapa 1: Escolha um módulo de cena

Os módulos de cena estão localizados no diretório playerkit-scenes. Os módulos disponíveis incluem:

Módulo de cena

Descrição

scene-common

Módulo comum de cena (obrigatório). Outros módulos de cena dependem dele.

scene-longvideo

Fornece uma solução completa para reprodução de vídeos longos.

scene-shortvideo

Oferece uma solução completa para reprodução de vídeos curtos com navegação por deslize.

scene-live

Disponibiliza uma solução completa para reprodução de transmissões ao vivo.

scene-playlist

Apresenta uma solução completa para reprodução de listas de vídeos.

Etapa 2: Inicie a página da cena

Após integrar um módulo de cena, inicie a página correspondente de uma das duas formas abaixo:

Método 1: Navegação por Intent

// Navigate to the long-form video scenario.
Intent intent = new Intent(this, LongVideoActivity.class);
startActivity(intent);
// Navigate to the long-form video scenario.
val intent = Intent(this, LongVideoActivity::class.java)
startActivity(intent)

Método 2: Navegação por Schema

Os módulos de cena suportam navegação por schema para iniciar um cenário específico de reprodução. O schema de cada cenário é definido no AndroidManifest.xml do módulo correspondente. Encontre a URL específica do schema dentro da tag <data> do <intent-filter>.

Por exemplo, se a configuração no AndroidManifest.xml for a seguinte:

<data
    android:host="scenes"
    android:path="/longvideo"
    android:scheme="playerkit" />   

Construa a URL do schema da seguinte forma:

playerkit://scenes/longvideo          
// Navigate to the target scenario (replace with the actual schema URL).
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("your_schema_url_here"));
startActivity(intent);
// Navigate to the target scenario (replace with the actual schema URL).
val intent = Intent(Intent.ACTION_VIEW).apply {
    data = Uri.parse("your_schema_url_here")
}
startActivity(intent)

Exemplos e extensões

Você concluiu a integração básica do AliPlayerKit e implementou a reprodução de vídeo.

Para mais exemplos, consulte os seguintes diretórios:

  • playerkit-examples: Contém exemplos de uso para APIs comuns.

  • playerkit-scenes: Disponibiliza soluções para cenários típicos de reprodução.