All Products
Search
Document Center

ApsaraVideo VOD:Memulai cepat

Last Updated:Sep 11, 2026

Dokumen ini menjelaskan cara mengintegrasikan AliPlayerKit secara cepat, mulai dari inisialisasi global hingga integrasi lapisan komponen dan lapisan skenario.

Catatan

Sebelum memulai, pastikan Anda telah mengonfigurasi lingkungan dan menambahkan dependensi yang diperlukan sebagaimana dijelaskan dalam Persiapan integrasi.

Catatan

Kiat Ramah AI: Dokumen ini disusun agar mudah diurai oleh AI. Anda dapat menggunakannya sebagai Skills untuk mempercepat alur kerja pengembangan Anda.

API minimalis AliPlayerKit memungkinkan Anda mengintegrasikan fitur pemutaran video dengan kode yang ringkas.

Pilih opsi integrasi

AliPlayerKit menggunakan arsitektur berlapis, menyediakan integrasi lapisan komponen dan lapisan skenario. Pilih opsi yang paling sesuai dengan kebutuhan bisnis Anda:

Opsi integrasi

Modul

Deskripsi

Kasus penggunaan

Integrasi lapisan komponen

playerkit

Menggunakan modul inti playerkit, yang mencakup komponen UI pemutar yang dapat dikonfigurasi.

Memerlukan UI pemutar kustom atau kontrol fleksibel atas perilaku pemutaran.

Integrasi lapisan skenario

playerkit-scenes

Menyediakan solusi lengkap yang telah dibuat sebelumnya untuk skenario umum, dibangun di atas lapisan komponen.

Menerapkan dengan cepat skenario pemutaran standar, seperti video panjang, video pendek, dan live streaming.

Catatan

Lapisan skenario bergantung pada lapisan komponen, sehingga Anda harus menyelesaikan integrasi lapisan komponen terlebih dahulu.

Inisialisasi global

Panggil AliPlayerKit.init() di Application.onCreate() untuk inisialisasi global. Metode ini hanya boleh dipanggil sekali selama siklus hidup aplikasi guna menginisialisasi inti pemutar dan pengaturan global.

public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        // Inisialisasi pengaturan global untuk AliPlayerKit.
        AliPlayerKit.init(this);
    }
}
class MyApplication : Application() {
    override fun onCreate() {
        super.onCreate()
        // Inisialisasi pengaturan global untuk AliPlayerKit.
        AliPlayerKit.init(this)
    }
}
Catatan

AliPlayerKit menyediakan metode konfigurasi global lainnya, seperti setPlayerViewType() dan setDisableScreenshot(). Untuk detailnya, lihat Referensi API.

Opsi 1: Integrasi lapisan komponen

Lapisan komponen (modul playerkit) menyediakan komponen UI pemutar siap pakai yang dapat dikonfigurasi. Ikuti langkah-langkah berikut untuk menerapkan fungsi pemutaran di setiap halaman yang memerlukan pemutaran video.

Langkah 1: Tambahkan tampilan pemutar

Tambahkan AliPlayerView ke file layout XML Anda:

<!-- Tampilan komponen pemutar -->
<com.aliyun.playerkit.AliPlayerView
    android:id="@+id/player_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />       

Tempatkan AliPlayerView langsung ke dalam layout Anda, dengan lebar dan tinggi yang disesuaikan kebutuhan. Jika diperlukan wadah luar (misalnya, untuk mendukung perpindahan mode layar penuh), Anda dapat membungkusnya dalam FrameLayout atau wadah lainnya.

Langkah 2: Sambungkan controller dan mulai pemutaran

Penting

Jika aplikasi Anda mendukung perpindahan ke mode layar penuh, Anda harus mengonfigurasi atribut android:configChanges untuk Activity pemutar di AndroidManifest.xml. Hal ini mencegah Activity dibuat ulang saat layar diputar, yang jika tidak akan menyebabkan kehilangan status pemutaran.

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

Setelah konfigurasi ini, rotasi layar tidak akan memicu pembuatan ulang Activity, sehingga status pemutar tetap terjaga.

Di Activity atau Fragment Anda, buat controller, konfigurasi data, lalu sambungkan ke tampilan:

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. Dapatkan tampilan pemutar.
        playerView = findViewById(R.id.player_view);

        // 2. Buat controller pemutar.
        controller = new AliPlayerController(this);

        // 3. Konfigurasi data pemutaran (VidAuth direkomendasikan).
        AliPlayerModel model = new AliPlayerModel.Builder()
                .videoSource(VideoSourceFactory.createVidAuthSource(
                        "your_video_id",    // Video ID
                        "your_playback_credential"    // Kredensial pemutaran
                ))
                .coverUrl("https://example.com/cover.jpg")  // Ganti dengan URL gambar sampul aktual Anda.
                .videoTitle("Sample Video")
                .autoPlay(true)
                .build();

        // 4. Sambungkan controller ke tampilan.
        playerView.attach(controller, model);
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        // 5. Putuskan sambungan dan lepaskan sumber daya.
        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. Dapatkan tampilan pemutar.
        playerView = findViewById(R.id.player_view)

        // 2. Buat controller pemutar.
        controller = AliPlayerController(this)

        // 3. Konfigurasi data pemutaran (VidAuth direkomendasikan).
        val model = AliPlayerModel.Builder()
                .videoSource(VideoSourceFactory.createVidAuthSource(
                        "your_video_id",    // Video ID
                        "your_playback_credential"    // Kredensial pemutaran
                ))
                .coverUrl("https://example.com/cover.jpg")  // Ganti dengan URL gambar sampul aktual Anda.
                .videoTitle("Sample Video")
                .autoPlay(true)
                .build()

        // 4. Sambungkan controller ke tampilan.
        playerView.attach(controller, model)
    }

    override fun onDestroy() {
        super.onDestroy()
        // 5. Putuskan sambungan dan lepaskan sumber daya.
        playerView.detach()
    }
}
Catatan

Jika Anda belum memiliki Video ID dan kredensial pemutaran, Anda dapat menggunakan data sampel yang tersedia di SceneConstants.java untuk menjalankan contoh secara cepat guna pengujian.

Langkah 3 (Opsional): Tangani tombol back

Jika aplikasi Anda mendukung pemutaran layar penuh, Anda perlu menangani event tombol back di Activity Anda:

@Override
public void onBackPressed() {
    // Jika dalam mode layar penuh, keluar dari mode layar penuh.
    if (playerView.onBackPressed()) {
        return;  // Event ditangani, jangan lakukan aksi default.
    }
    super.onBackPressed();  // Event tidak ditangani, lakukan aksi default.
}
@Deprecated("Deprecated in Java")
override fun onBackPressed() {
    // Jika dalam mode layar penuh, keluar dari mode layar penuh.
    if (playerView.onBackPressed()) {
        return  // Event ditangani, jangan lakukan aksi default.
    }
    super.onBackPressed()  // Event tidak ditangani, lakukan aksi default.
}
Catatan

Untuk deskripsi API lengkap setiap komponen, lihat Referensi API. Untuk alur panggilan API inti, lihat Kemampuan inti.

Opsi 2: Integrasi lapisan skenario

Lapisan skenario menyediakan solusi pemutaran lengkap untuk skenario bisnis tertentu, seperti video panjang, video pendek, dan live streaming. Lapisan skenario dibangun di atas lapisan komponen dan siap digunakan tanpa perlu pengembangan tambahan.

Langkah 1: Pilih modul skenario

Modul skenario terletak di direktori playerkit-scenes. Modul yang tersedia meliputi:

Modul Adegan

Deskripsi

scene-common

Modul skenario umum (wajib). Modul skenario lain bergantung padanya.

scene-longvideo

Menyediakan solusi lengkap untuk pemutaran video panjang.

scene-shortvideo

Menyediakan solusi lengkap untuk pemutaran video pendek berbasis swipe.

scene-live

Menyediakan solusi lengkap untuk pemutaran live streaming.

scene-playlist

Menyediakan solusi lengkap untuk pemutaran daftar putar.

Langkah 2: Launch halaman skenario

Setelah mengintegrasikan modul skenario, Anda dapat meluncurkan halaman skenario dengan salah satu dari dua cara berikut:

Metode 1: Navigasi Intent

// Navigasi ke skenario video panjang.
Intent intent = new Intent(this, LongVideoActivity.class);
startActivity(intent);
// Navigasi ke skenario video panjang.
val intent = Intent(this, LongVideoActivity::class.java)
startActivity(intent)

Metode 2: Navigasi Schema

Modul skenario mendukung navigasi schema untuk memulai skenario pemutaran tertentu. Schema untuk setiap skenario didefinisikan di AndroidManifest.xml modul yang bersangkutan. Anda dapat menemukan URL schema spesifik di dalam tag <data> yang berada di dalam <intent-filter>.

Sebagai contoh, jika konfigurasi di AndroidManifest.xml adalah sebagai berikut:

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

Buat URL schema sebagai berikut:

playerkit://scenes/longvideo          
// Navigasi ke skenario target (ganti dengan URL schema aktual).
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("your_schema_url_here"));
startActivity(intent);
// Navigasi ke skenario target (ganti dengan URL schema aktual).
val intent = Intent(Intent.ACTION_VIEW).apply {
    data = Uri.parse("your_schema_url_here")
}
startActivity(intent)

Contoh dan ekstensi

Anda kini telah menyelesaikan integrasi dasar AliPlayerKit dan menerapkan pemutaran video.

Untuk contoh lebih lanjut, lihat direktori berikut:

  • playerkit-examples: Menyediakan contoh penggunaan API umum.

  • playerkit-scenes: Menyediakan solusi untuk skenario pemutaran khas.