All Products
Search
Document Center

ApsaraVideo VOD:Memulai

Last Updated:Aug 20, 2026

Mulai memutar video menggunakan ApsaraVideo Player SDK untuk Android.

Prasyarat

Anda telah menyelesaikan integrasi SDK untuk ApsaraVideo Player untuk Android.

Proyek sampel open-source

Untuk contoh kode yang lebih lengkap, lihat modul BasicPlayback dalam API-Example. Proyek sampel Android berbasis Java ini membantu Anda mengintegrasikan fitur inti pemutar dengan cepat.

Prosedur

Langkah 1: Buat pemutar

Buat instans AliPlayer menggunakan kelas AliPlayerFactory.

// Buat instans pemutar.
AliPlayer mAliPlayer = AliPlayerFactory.createAliPlayer(context);
// Masukkan traceId.
// Opsional: Gunakan fitur Tracing Analysis. Jika terjadi pengecualian selama pemutaran video dengan ApsaraVideo Player SDK, fitur ini melakukan tracing end-to-end atas pemutaran abnormal untuk pengguna atau session tertentu. Hal ini membantu Anda mendiagnosis masalah dengan cepat dan meningkatkan administrasi pengalaman pemutaran.
// Tentukan nilai traceId. Nilai ini harus merupakan pengenal unik untuk pengguna atau perangkat Anda, seperti ID pengguna bisnis Anda, atau ID perangkat seperti International Mobile Equipment Identity (IMEI) atau identifier for advertisers (IDFA).
mAliPlayer.setTraceId("traceId");
Catatan

Pemantauan kualitas pemutaran, Tracing Analysis, dan statistik pemutaran video bergantung pada pelaporan log instrumentasi. Pemantauan kualitas pemutaran menyediakan data tentang kualitas pemutaran secara keseluruhan. Tracing Analysis melokalisasi pengguna atau perangkat tertentu, menganalisis perilaku pemutaran mereka, dan membantu Anda mengidentifikasi masalah seperti error pemutaran dengan cepat.

Fitur yang tersedia saat membuat pemutar bergantung pada konfigurasi parameter setTraceId:

  • Jika Anda tidak mengatur parameter setTraceId (default): Pelaporan log instrumentasi diaktifkan. Anda dapat menggunakan fitur pemantauan kualitas pemutaran dan statistik pemutaran video. Fitur Tracing Analysis tidak tersedia.

  • Jika Anda mengatur parameter setTraceId ke suatu traceId: Nilai traceId ditentukan oleh pengguna dan harus merupakan pengenal unik untuk pengguna atau perangkat Anda, seperti ID pengguna bisnis Anda atau ID perangkat seperti International Mobile Equipment Identity (IMEI) atau identifier for advertisers (IDFA). Setelah Anda mengatur traceId, pelaporan log instrumentasi diaktifkan. Anda dapat menggunakan fitur pemantauan kualitas pemutaran, Tracing Analysis, dan statistik pemutaran video.

  • Jika Anda mengatur parameter setTraceId ke DisableAnalytics: Pelaporan log instrumentasi dinonaktifkan. Fitur pemantauan kualitas pemutaran, Tracing Analysis, dan statistik pemutaran video tidak tersedia.

Langkah 2: Atur tampilan pemutaran

Pemutar mendukung tiga jenis tampilan: AliDisplayView, SurfaceView, dan TextureView.

  • AliDisplayView: Komponen tampilan terpadu yang dikapsulasi oleh SDK dengan antarmuka standar. Cocok untuk integrasi cepat dan skenario UI sederhana.

  • SurfaceView / TextureView: Tampilan native yang memberikan lapisan aplikasi kontrol penuh atas siklus hidup tampilan dan logika rendering. Cocok untuk hierarki tampilan kompleks atau skenario yang memerlukan kontrol detail halus.

  1. Deklarasikan tampilan dalam file XML.

    AliDisplayView

    <!-- Tampilan rendering pemutar -->
    <com.aliyun.player.videoview.AliDisplayView
        android:id="@+id/ali_display_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center" />

    SurfaceView

    <!-- Tampilan rendering pemutar -->
    <SurfaceView
        android:id="@+id/surface_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center" />

    TextureView

    <!-- Tampilan rendering pemutar -->
    <TextureView
        android:id="@+id/texture_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center" />
  2. Atur tampilan.

    AliDisplayView

    Panggil metode setDisplayView pemutar untuk menyambungkan tampilan.

    AliDisplayView mAliDisplayView = findViewById(R.id.display_view);
    // Atur jenis tampilan pemutar menggunakan setPreferDisplayView().
    mAliDisplayView.setPreferDisplayView(AliDisplayView.DisplayViewType.SurfaceView);
    mAliPlayer.setDisplayView(mAliDisplayView);

    SurfaceView

    Panggil metode setSurface pemutar untuk menyambungkan tampilan.

    SurfaceView mSurfaceView = findViewById(R.id.surface_view);
    mSurfaceView.getHolder().addCallback(new SurfaceHolder.Callback() {
        @Override
        public void surfaceCreated(@NonNull SurfaceHolder holder) {
            mAliPlayer.setSurface(holder.getSurface());
        }
    
        @Override
        public void surfaceChanged(@NonNull SurfaceHolder holder, int format, int width, int height) {
            mAliPlayer.surfaceChanged();
        }
    
        @Override
        public void surfaceDestroyed(@NonNull SurfaceHolder holder) {
            mAliPlayer.setSurface(null)
        }
    });

    TextureView

    Panggil metode setSurface pemutar untuk menyambungkan tampilan.

    TextureView mTextureView = findViewById(R.id.texture_view);
    mTextureView.setSurfaceTextureListener(new TextureView.SurfaceTextureListener() {
        @Override
        public void onSurfaceTextureAvailable(@NonNull SurfaceTexture surface, int width, int height) {
            mAliPlayer.setSurface(new Surface(surface));
        }
    
        @Override
        public void onSurfaceTextureSizeChanged(@NonNull SurfaceTexture surface, int width, int height) {
            mAliPlayer.surfaceChanged();
        }
    
        @Override
        public boolean onSurfaceTextureDestroyed(@NonNull SurfaceTexture surface) {
            mAliPlayer.setSurface(null);
            return true;
        }
    
        @Override
        public void onSurfaceTextureUpdated(@NonNull SurfaceTexture surface) {
    
        }
    });

Langkah 3: Atur sumber pemutaran

Pemutaran VidAuth (Direkomendasikan)

VidAuth vidAuth = new VidAuth();
vidAuth.setVid("Your Vid");// Wajib. ID video (VideoId).
vidAuth.setPlayAuth("<yourPlayAuth>");// Wajib. Kredensial pemutaran. Panggil operasi GetVideoPlayAuth dari ApsaraVideo VOD untuk menghasilkan kredensial ini.
vidAuth.setRegion("The region ID");// Untuk ApsaraVideo Player SDK V5.5.5.0 dan versi lebih baru, parameter ini sudah tidak digunakan lagi. Anda tidak perlu mengatur wilayah karena pemutar akan menguraikannya secara otomatis. Untuk versi sebelum V5.5.5.0, parameter ini wajib diisi. Parameter ini menentukan wilayah tempat ApsaraVideo VOD diaktifkan. Nilai default adalah cn-shanghai.
// vidAuth.setAuthTimeout(3600); // Periode validitas URL pemutaran, dalam detik. Nilai ini menggantikan periode validitas untuk Penandatanganan URL yang diatur di konsol ApsaraVideo VOD. Jika Anda tidak mengirimkan parameter ini, nilai default 3600 akan digunakan. Jika Anda mengatur parameter ini, pastikan periode tersebut lebih panjang daripada durasi video agar URL pemutaran tidak kedaluwarsa sebelum pemutaran selesai.
mAliPlayer.setDataSource(vidAuth);

Pemutaran VidSts

VidSts vidSts = new VidSts();
vidSts.setVid("Your Vid");// Wajib. ID video (VideoId).
vidSts.setAccessKeyId("<yourAccessKeyId>");// Wajib. ID AccessKey dari pasangan AccessKey temporary. Hasilkan dengan memanggil operasi AssumeRole dari Security Token Service (STS).
vidSts.setAccessKeySecret("<yourAccessKeySecret>");// Wajib. Rahasia AccessKey dari pasangan AccessKey temporary. Hasilkan dengan memanggil operasi AssumeRole dari STS.
vidSts.setSecurityToken("<yourSecurityToken>");// Wajib. Token STS. Hasilkan dengan memanggil operasi AssumeRole dari STS.
vidSts.setRegion("The region ID");// Wajib. Wilayah tempat ApsaraVideo VOD diaktifkan. Nilai default adalah cn-shanghai.
mAliPlayer.setDataSource(vidSts);

Pemutaran UrlSource

// Buat objek sumber pemutaran dan atur URL pemutaran.
UrlSource urlSource = new UrlSource();
// Wajib. URL pemutaran. Dapat berupa URL video sesuai permintaan (VOD) pihak ketiga, URL pemutaran dari ApsaraVideo VOD, atau URL video lokal.
urlSource.setUri("The playback URL");
mAliPlayer.setDataSource(urlSource);
Catatan

Untuk opsi sumber pemutaran lainnya, lihat Fitur Dasar.

Langkah 4: Mulai pemutaran

// Persiapkan pemutaran.
mAliPlayer.prepare();
// Mulai pemutaran.
mAliPlayer.start();

Langkah 5: Akhiri pemutaran

Sebelum menghentikan pemutaran, lepaskan tampilan pemutar untuk melepas sumber daya rendering. Pilih metode pelepasan berdasarkan jenis tampilan pemutar yang Anda gunakan:

  • SurfaceView / TextureView: Panggil setSurface(null) untuk melepas tampilan.

  • AliDisplayView: Panggil setDisplayView(null) untuk melepas tampilan.

Kode lengkap untuk mengakhiri pemutaran adalah sebagai berikut:

// Lepaskan tampilan pemutar.
// Untuk SurfaceView / TextureView:
aliPlayer.setSurface(null);
// Untuk AliDisplayView:
aliPlayer.setDisplayView(null);

// Hentikan pemutaran.
mAliPlayer.stop();
// Hancurkan pemutar.
mAliPlayer.release();
// Kosongkan referensi untuk menghindari memory leak.
mAliPlayer = null;

Referensi

Untuk kontrol pemutaran, pendengar event, dan kemampuan pemutar lainnya, lihat Fitur Dasar.