All Products
Search
Document Center

ApsaraVideo VOD:Referensi API

Last Updated:Sep 11, 2026

Topik ini menjelaskan API utama AliPlayerKit, mencakup API inti, sistem slot, sumber video, antarmuka pemutar, penyimpanan status, sistem event, sistem logging, antarmuka preload, kebijakan siklus hidup, dan sistem strategi.

Catatan

AliPlayerKit menyediakan komentar kode lengkap untuk semua API inti—termasuk kelas dan metode. Di IDE seperti Android Studio, Anda dapat melihat komentar tersebut melalui fitur hover tips atau Quick Documentation guna meningkatkan efisiensi pengembangan. Komentar ini juga memudahkan alat pemrograman berbasis AI dalam memahami semantik API.

API Inti

AliPlayerKit (Antarmuka Global)

Kelas AliPlayerKit menyediakan konfigurasi global dan inisialisasi, serta merupakan satu-satunya titik masuk global untuk seluruh framework pemutar.

Metode Inisialisasi

Metode

Parameter

Nilai kembali

Deskripsi

init(Context)

context: konteks aplikasi

void

Inisialisasi pengaturan global. Panggil metode ini di Application.onCreate().

Kueri Status

Metode

Parameter

Nilai kembali

Deskripsi

isInitialized()

-

boolean

Periksa apakah inisialisasi telah selesai.

getContext()

-

Context

Ambil konteks aplikasi.

getPlayerKitVersion()

-

String

Ambil nomor versi Kit.

getSdkVersion()

-

String

Ambil nomor versi SDK dasar.

getDeviceId()

-

String

Ambil ID perangkat.

Metode Konfigurasi

Metode

Parameter

Nilai kembali

Deskripsi

setDebugModeEnabled(boolean)

enable: Menentukan apakah fitur diaktifkan.

void

Aktifkan atau nonaktifkan mode debug.

isDebugModeEnabled()

-

boolean

Periksa apakah mode debug diaktifkan.

setLogPanelEnabled(boolean)

enable: setel ke true untuk mengaktifkan

void

Tampilkan atau sembunyikan panel log.

isLogPanelEnabled()

-

boolean

Periksa apakah panel log diaktifkan.

setDisableScreenshot(boolean)

disable: Menentukan apakah fitur dinonaktifkan.

void

Aktifkan atau nonaktifkan tangkapan layar.

isDisableScreenshot()

-

boolean

Periksa apakah tangkapan layar dinonaktifkan.

setPlayerViewType(PlayerViewType)

viewType: tipe tampilan

void

Atur tipe tampilan pemutar.

getPlayerViewType()

-

PlayerViewType

Ambil tipe tampilan pemutar saat ini.

Manajemen cache

Metode

Parameter

Nilai kembali

Deskripsi

clearCaches()

-

void

Bersihkan cache pemutar.

Global API

Metode

Parameter

Nilai kembali

Deskripsi

getLogger()

-

IPlayerLogger

Ambil instance logger global.

getPreloader()

-

IPlayerPreloader

Ambil instance preloader global.

setLogger(IPlayerLogger)

logger: instance logger

void

Atur implementasi logger kustom.

setPreloader(IPlayerPreloader)

preloader: instance preloader

void

Atur implementasi preloader kustom.

AliPlayerView (Komponen Tampilan)

Kelas AliPlayerView adalah komponen tampilan pemutar inti yang menangani rendering UI dan manajemen slot. Sebagai lapisan View dalam arsitektur MVC, komponen ini merender antarmuka pemutar dan mengelola komponen UI terkait.

Controller binding

Metode

Parameter

Nilai kembali

Deskripsi

attach(AliPlayerController, AliPlayerModel)

controller, model

void

Ikat controller dan data menggunakan UI bawaan.

attach(AliPlayerController, AliPlayerModel, SlotRegistry)

controller, model, registry

void

Mengikat controller dan data menggunakan UI kustom.

detach()

-

void

Lepaskan ikatan dan bebaskan resource.

Siklus Hidup

Metode

Parameter

Nilai kembali

Deskripsi

bindLifecycle(LifecycleOwner)

lifecycleOwner

boolean

Mengikat siklus hidup.

Metode Lainnya

Metode

Parameter

Nilai kembali

Deskripsi

onBackPressed()

-

boolean

Menangani penekanan tombol back. Mengembalikan true jika ditangani.

getSlotManager()

-

ISlotManager

Ambil manajer slot.

AliPlayerController (Controller)

Kelas AliPlayerController mengontrol logika pemutaran dan manajemen status. Sebagai lapisan Controller dalam arsitektur MVC, kelas ini mengkoordinasikan interaksi antara lapisan View dan Model.

Konstruktor

Metode

Parameter

Deskripsi

AliPlayerController(Context)

context: konteks aplikasi

Membuat controller menggunakan kebijakan siklus hidup default.

AliPlayerController(Context, IPlayerLifecycleStrategy)

context, lifecycleStrategy

Membuat controller menggunakan kebijakan siklus hidup kustom.

Konfigurasi dan inisialisasi

Metode

Parameter

Nilai kembali

Deskripsi

configure(AliPlayerModel)

model: data pemutaran

void

Konfigurasikan data pemutaran.

getModel()

-

AliPlayerModel

Ambil konfigurasi data pemutaran saat ini.

getPlayer()

-

IMediaPlayer

Ambil instance pemutar.

destroy()

-

void

Hancurkan pemain.

Manajemen state

Metode

Parameter

Nilai kembali

Deskripsi

getStateStore()

-

IPlayerStateStore

Ambil penyimpanan status pemutar.

getStrategyManager()

-

StrategyManager

Ambil manajer strategi.

Pengaturan tampilan

Metode

Parameter

Nilai kembali

Deskripsi

setDisplayView(AliDisplayView)

displayView

void

Atur tampilan display.

setSurface(Surface)

surface

void

Atur Surface.

surfaceChanged()

-

void

Beritahu bahwa Surface telah berubah.

Metode siklus hidup

Metode

Parameter

Nilai kembali

Deskripsi

onResume()

-

void

Secara manual melanjutkan pemutaran di luar konteks LifecycleOwner.

onPause()

-

void

Secara manual menjeda pemutaran di luar konteks LifecycleOwner.

AliPlayerModel (Model Data)

Kelas AliPlayerModel mengenkapsulasi data konfigurasi pemutaran. Sebagai lapisan Model dalam arsitektur MVC, kelas ini menyimpan seluruh data konfigurasi yang diperlukan oleh pemutar. Gunakan pola Builder untuk membuat instance-nya.

Metode Builder

Metode

Parameter

Deskripsi

videoSource(VideoSource)

objek sumber video

Atur sumber video. Wajib diisi.

sceneType(int)

tipe scene

Atur tipe scene pemutaran.

coverUrl(String)

URL gambar mini

Atur URL gambar mini.

videoTitle(String)

judul video

Atur judul video.

autoPlay(boolean)

Autoplay

Atur apakah autoplay diaktifkan.

traceId(String)

ID jejak

Atur ID trace.

startTime(long)

posisi awal

Atur posisi awal dalam milidetik.

isHardWareDecode(boolean)

Apakah decoding hardware diaktifkan?

Atur apakah decoding hardware diaktifkan.

allowedScreenSleep(boolean)

Apakah hibernasi didukung?

Atur apakah tidur layar diizinkan.

build()

-

Membangun instance AliPlayerModel.

Akses properti

Metode

Nilai kembali

Deskripsi

getVideoSource()

VideoSource

Ambil objek sumber video.

getSceneType()

int

Ambil tipe scene pemutaran.

getCoverUrl()

String

Ambil URL gambar mini.

getVideoTitle()

String

Ambil judul video.

isAutoPlay()

boolean

Ambil status autoplay.

getTraceId()

String

Ambil ID trace.

getStartTime()

long

Ambil posisi awal.

isHardWareDecode()

boolean

Memeriksa apakah decoding perangkat keras diaktifkan.

isAllowedScreenSleep()

boolean

Ambil status izin tidur layar.

Sistem Slot

Sistem slot adalah mekanisme ekstensi UI AliPlayerKit yang memungkinkan penyesuaian komponen UI individual pada pemutar.

ISlotManager (Antarmuka Manajemen Slot)

Antarmuka ISlotManager menyediakan kemampuan manajemen slot dan dapat diakses melalui AliPlayerView.getSlotManager().

  • Metode

    Parameter

    Nilai kembali

    Deskripsi

    rebuildSlots()

    -

    void

    Membangun ulang semua slot setelah memodifikasi SlotRegistry.

    getSlotView(SlotType)

    slotType: tipe slot

    View

    Ambil tampilan slot untuk tipe tertentu.

    bindData(AliPlayerModel)

    model: data pemutaran

    void

    Mengikat data pemutaran ke sistem slot.

    unbindData()

    -

    void

    Melepaskan ikatan data pemutaran.

    updateSceneType(int)

    sceneType: tipe scene

    void

    Memperbarui tipe scene dan membangun ulang slot.

SlotRegistry (Registri Slot)

Kelas SlotRegistry mendaftarkan slot kustom dan dimasukkan ke dalam AliPlayerView.attach().

Metode pendaftaran

Metode

Parameter

Deskripsi

register(SlotType, SlotBuilder)

type, builder

Mendaftarkan builder slot.

register(SlotType, Class<? extends View>)

type, slotClass

Mendaftarkan kelas slot. Kelas dibuat menggunakan refleksi.

register(SlotType, int)

type, layoutId

Mendaftarkan resource layout sebagai slot.

Metode manajemen

Metode

Nilai kembali

Deskripsi

unregister(SlotType)

SlotBuilder

Membatalkan pendaftaran builder slot.

isRegistered(SlotType)

boolean

Anda dapat memeriksa apakah sudah terdaftar.

clear()

void

Menghapus semua pendaftaran.

size()

int

Ambil jumlah slot yang terdaftar.

ISlot (Antarmuka Slot)

Slot kustom harus mengimplementasikan antarmuka ISlot untuk mendefinisikan siklus hidupnya.

Metode

Deskripsi

onAttach(SlotHost)

Dipanggil ketika slot dilampirkan ke host-nya.

onDetach()

Dipanggil ketika slot dilepaskan dari host-nya.

onBindData(AliPlayerModel)

Dipanggil ketika data pemutaran diikat.

onUnbindData()

Dipanggil ketika data pemutaran dilepaskan.

Catatan

Kami merekomendasikan untuk memperluas BaseSlot saat mengimplementasikan slot kustom. Framework secara otomatis mengelola siklus hidup langganan event.

Tipe Slot (SlotType)

Konstanta

Deskripsi

SlotType.PLAYER_SURFACE

Slot tampilan permukaan pemutar: tampilan inti yang digunakan untuk merender konten video.

SlotType.FULLSCREEN

Slot manajemen fullscreen: mengelola logika toggle fullscreen.

SlotType.GESTURE_CONTROL

Slot kontrol gesture: menangani kontrol gesture seperti tap, double-tap, long press, dan drag.

SlotType.LANDSCAPE_HINT

Slot petunjuk tampilan landscape: memberi petunjuk kepada pengguna untuk menonton video landscape dalam mode fullscreen.

SlotType.COVER

Slot gambar sampul: menampilkan gambar sampul video.

SlotType.CENTER_DISPLAY

Slot tampilan tengah: menampilkan informasi status di area tengah, seperti kecepatan pemutaran, kecerahan, dan volume.

SlotType.PLAY_STATE

Slot status pemutaran: menampilkan informasi status pemutaran seperti pesan error dan indikator loading.

SlotType.LOG_PANEL

Slot panel log: menampilkan informasi log pemutar untuk debugging.

SlotType.TOP_BAR

Slot bilah kontrol atas: menampilkan tombol kembali, judul, dan pengaturan.

SlotType.BOTTOM_BAR

Slot bilah kontrol bawah: menampilkan kontrol pemutaran, bilah progres, dan toggle fullscreen.

SlotType.SETTING_MENU

Slot menu pengaturan: menampilkan menu pengaturan, termasuk kecepatan pemutaran, definisi, mirror, dan opsi rotasi.

SceneType (Scene Pemutaran)

Konstanta

Nilai

Deskripsi

SceneType.VOD

0

Scene video-on-demand: pemutaran video standar dengan kontrol pemutaran lengkap.

SceneType.LIVE

1

Scene streaming langsung: pemutaran stream real-time tanpa pencarian atau kontrol kecepatan.

SceneType.VIDEO_LIST

2

Scene daftar video: pemutar yang digunakan dalam daftar video. Menonaktifkan gesture vertikal.

SceneType.RESTRICTED

3

Scene pemutaran terbatas: membatasi operasi timeline. Digunakan dalam pendidikan dan pelatihan.

SceneType.MINIMAL

4

Scene pemutaran minimal: hanya menampilkan tampilan pemutaran tanpa elemen UI.

PlayerViewType (Tipe Tampilan Pemutar)

Konstanta

Deskripsi

PlayerViewType.DISPLAY_VIEW

AliDisplayView (direkomendasikan): komponen tampilan resmi dengan kompatibilitas dan performa lebih baik.

PlayerViewType.SURFACE_VIEW

SurfaceView: menggunakan thread rendering terpisah tetapi tidak mendukung animasi.

PlayerViewType.TEXTURE_VIEW

TextureView: mendukung animasi dan transformasi. Terbaik untuk scene yang membutuhkan animasi tampilan.

Sumber Video

VideoSourceFactory (Pabrik Sumber Video)

Metode

Parameter

Nilai kembali

Deskripsi

VideoSourceFactory.createVidAuthSource(String, String)

vid, playAuth

VideoSource

Membuat sumber video VidAuth (direkomendasikan).

VideoSourceFactory.createVidStsSource(String, String, String, String, String)

vid, accessKeyId, accessKeySecret, securityToken, region

VideoSource

Membuat sumber video VidSts.

VideoSourceFactory.createUrlSource(String)

url: URL video

VideoSource

Membuat sumber video URL.

Catatan

Di lingkungan produksi, gunakan metode VidAuth karena menawarkan keamanan lebih tinggi dan terintegrasi dengan layanan VOD Alibaba Cloud untuk kemampuan pemutaran yang ditingkatkan. Untuk informasi lebih lanjut, lihat Dukungan sumber video ganda.

VideoSource (Sumber Video)

Metode

Nilai kembali

Deskripsi

isValid()

boolean

Periksa apakah sumber video valid.

getType()

int

Ambil tipe sumber video.

getSourceId()

String

Ambil ID sumber video.

Antarmuka Pemutar

IMediaPlayer (Antarmuka Media Player)

Antarmuka IMediaPlayer mendefinisikan operasi pemutar inti dan dapat diakses melalui AliPlayerController.getPlayer().

Kontrol pemutaran

Metode

Parameter

Deskripsi

start()

-

Memulai pemutaran.

pause()

-

Menjeda pemutaran.

toggle()

-

Beralih antara memutar dan menjeda.

stop()

-

Menghentikan pemutaran.

replay()

-

Memutar ulang video.

seekTo(long)

positionMs

Mencari ke posisi tertentu dalam milidetik.

release()

-

Melepaskan resource pemutar.

Sumber data

Metode

Parameter

Deskripsi

setDataSource(AliPlayerModel)

model

Atur sumber data video.

Pengaturan tampilan

Metode

Parameter

Deskripsi

setDisplayView(AliDisplayView)

displayView

Atur tampilan display.

setSurface(Surface)

surface

Atur Surface rendering.

surfaceChanged()

-

Beritahu bahwa Surface telah berubah.

Pengaturan pemutaran

Metode

Parameter

Deskripsi

setSpeed(float)

speed

Atur kecepatan pemutaran (0,3 hingga 3,0).

setLoop(boolean)

loop

Aktifkan atau nonaktifkan looping.

setMute(boolean)

mute

Bisukan.

setScaleType(int)

scaleType

Atur mode pengisian rendering.

setMirrorType(int)

mirrorType

Atur mode mirror.

setRotation(int)

rotation

Atur sudut rotasi.

selectTrack(TrackQuality)

trackQuality

Pilih definisi video.

snapshot()

-

Mengambil tangkapan layar.

Kueri status

Metode

Nilai kembali

Deskripsi

getPlayerId()

String

Ambil identifier unik pemutar.

getStateStore()

IPlayerStateStore

Ambil antarmuka penyimpanan status.

ScaleType (Mode Pengisian Rendering)

Konstanta

Nilai

Deskripsi

ScaleType.FIT_XY

0

Meregangkan untuk mengisi tampilan.

ScaleType.FIT_CENTER

1

Menyesuaikan sambil mempertahankan rasio aspek (mungkin menampilkan batang hitam).

ScaleType.CENTER_CROP

2

Memotong untuk mengisi sambil mempertahankan rasio aspek.

MirrorType (Mode Mirror)

Konstanta

Nilai

Deskripsi

MirrorType.NONE

0

Tidak ada mirror.

MirrorType.HORIZONTAL

1

Mirror horizontal.

MirrorType.VERTICAL

2

Mirror vertikal.

Rotation (Sudut Rotasi)

Konstanta

Nilai

Deskripsi

Rotation.DEGREE_0

0

0 derajat.

Rotation.DEGREE_90

90

90 derajat.

Rotation.DEGREE_180

180

180 derajat.

Rotation.DEGREE_270

270

270 derajat.

Antarmuka Penyimpanan Status

IPlayerStateStore (Penyimpanan Status Pemutar)

Antarmuka IPlayerStateStore menyediakan akses read-only ke status pemutar dan dapat diakses melalui AliPlayerController.getStateStore() atau IMediaPlayer.getStateStore().

Status pemutaran

Metode

Nilai kembali

Deskripsi

getPlayState()

PlayerState

Ambil status pemutaran saat ini.

getDuration()

long

Ambil durasi video total dalam milidetik.

getCurrentPosition()

long

Ambil posisi pemutaran saat ini dalam milidetik.

getCurrentSpeed()

float

Ambil kecepatan pemutaran saat ini.

Pengaturan video

Metode

Nilai kembali

Deskripsi

getVideoSize()

VideoSize

Ambil ukuran video (mungkin null).

getCurrentRotation()

int

Ambil sudut rotasi saat ini.

getCurrentScaleType()

int

Ambil mode pengisian saat ini.

getCurrentMirrorType()

int

Ambil mode mirror saat ini.

Pengaturan pemutaran

Metode

Nilai kembali

Deskripsi

isLoop()

boolean

Periksa apakah looping diaktifkan.

isMute()

boolean

Periksa apakah audio dibisukan.

isFullscreen()

boolean

Periksa apakah pemutar dalam mode fullscreen.

Definisi

Metode

Nilai kembali

Deskripsi

getTrackQualityList()

List

Ambil daftar definisi yang tersedia.

getCurrentTrackIndex()

int

Ambil indeks definisi saat ini.

PlayerState (Status Pemutaran)

Konstanta

Deskripsi

PlayerState.UNKNOWN

Status tidak diketahui: status pemutar tidak diketahui atau belum diinisialisasi.

PlayerState.IDLE

Status idle: pemutar telah dibuat tetapi belum diinisialisasi, atau resource telah dilepaskan.

PlayerState.INITIALIZING

Menginisialisasi: pemutar sedang menginisialisasi dan mempersiapkan untuk memuat resource video.

PlayerState.INITIALIZED

Terinisialisasi: pemutar telah sepenuhnya diinisialisasi tetapi belum siap diputar.

PlayerState.PREPARING

Mempersiapkan: pemutar sedang mempersiapkan resource video dan menguraikan informasi video.

PlayerState.PREPARED

Siap: pemutar siap untuk memulai pemutaran.

PlayerState.PLAYING

Memutar: pemutar sedang aktif memutar video.

PlayerState.PAUSED

Dijeda: pemutar dijeda.

PlayerState.COMPLETED

Selesai: pemutaran video telah selesai.

PlayerState.STOPPED

Dihentikan: pemutar dihentikan.

PlayerState.ERROR

Error: terjadi kesalahan selama pemutaran.

Sistem Event

PlayerEventBus (Event Bus)

Kelas PlayerEventBus merupakan event bus global untuk menerbitkan dan berlangganan event pemutar.

Metode berlangganan

Metode

Parameter

Deskripsi

subscribe(Class<T>, EventListener<T>)

eventType, listener

Berlangganan event dengan tipe tertentu.

unsubscribe(Class<T>, EventListener<T>)

eventType, listener

Berhenti berlangganan event dengan tipe tertentu.

unsubscribe(EventListener<?>)

listener

Berhenti berlangganan listener dari semua tipe event.

unsubscribeAll()

-

Menghapus semua langganan. Gunakan dengan hati-hati.

Metode penerbitan

Metode

Parameter

Deskripsi

post(PlayerEvent)

event

Menerbitkan event.

Metode kueri

Metode

Nilai kembali

Deskripsi

getSubscriberCount(Class<?>)

int

Ambil jumlah subscriber untuk tipe event tertentu.

hasSubscribers(Class<?>)

boolean

Periksa apakah ada subscriber untuk tipe event tertentu.

PlayerCommand (Perintah Pemutar)

Perintah pemutar mengontrol perilaku pemutar dan diterbitkan menggunakan PlayerEventBus.post().

Kelas perintah

Parameter

Deskripsi

PlayerCommand.Play

playerId

Perintah putar.

PlayerCommand.Pause

playerId

Perintah jeda.

PlayerCommand.Toggle

playerId

Beralih antara memutar dan menjeda.

PlayerCommand.Stop

playerId

Perintah hentikan.

PlayerCommand.Replay

playerId

Perintah putar ulang.

PlayerCommand.Seek

playerId, position

Perintah cari. Posisi dalam milidetik.

PlayerCommand.SetSpeed

playerId, speed

Atur kecepatan pemutaran (0,3 hingga 3,0).

PlayerCommand.Snapshot

playerId

Perintah tangkapan layar.

PlayerCommand.SetLoop

playerId, loop

Atur looping.

PlayerCommand.SetMute

playerId, mute

Atur bisu.

PlayerCommand.SetScaleType

playerId, scaleType

Atur mode pengisian rendering.

PlayerCommand.SetMirrorType

playerId, mirrorType

Atur mode mirror.

PlayerCommand.SetRotation

playerId, rotation

Atur sudut rotasi.

PlayerCommand.SelectTrack

playerId, trackQuality

Anda dapat mengganti resolusi.

Contoh penggunaan

// Terbitkan perintah putar.
PlayerEventBus.getInstance().post(new PlayerCommand.Play(playerId));

// Terbitkan perintah cari.
PlayerEventBus.getInstance().post(new PlayerCommand.Seek(playerId, 5000));

// Atur kecepatan pemutaran.
PlayerEventBus.getInstance().post(new PlayerCommand.SetSpeed(playerId, 1.5f));     

PlayerEvents (Event Pemutar)

Perubahan status pemutar diterbitkan sebagai event. Berlangganan untuk mendengarkannya.

Kelas event

Properti

Deskripsi

PlayerEvents.StateChanged

oldState, newState

Status pemutaran berubah.

PlayerEvents.Prepared

duration

Pemutar siap.

PlayerEvents.FirstFrameRendered

-

Frame pertama dirender.

PlayerEvents.VideoSizeChanged

width, height

Ukuran video berubah.

PlayerEvents.Info

duration, currentPosition, bufferedPosition

Informasi pemutaran diperbarui.

PlayerEvents.Error

errorCode, errorMsg

Event error.

PlayerEvents.LoadingBegin

-

Loading dimulai.

PlayerEvents.LoadingProgress

percent, netSpeed

Progres loading.

PlayerEvents.LoadingEnd

-

Loading selesai.

PlayerEvents.SetSpeedCompleted

speed

Setel kecepatan selesai.

PlayerEvents.SnapshotCompleted

result, snapshotPath, width, height

Tangkapan layar selesai.

PlayerEvents.SetLoopCompleted

loop

Setel loop selesai.

PlayerEvents.SetMuteCompleted

mute

Setel bisu selesai.

PlayerEvents.SetScaleTypeCompleted

scaleType

Setel mode pengisian selesai.

PlayerEvents.SetMirrorTypeCompleted

mirrorType

Pengaturan pencerminan telah selesai.

PlayerEvents.SetRotationCompleted

rotation

Setel rotasi selesai.

PlayerEvents.TrackQualityListUpdated

trackQualityList

Daftar definisi diperbarui.

PlayerEvents.TrackSelected

trackIndex

Pemilihan definisi selesai.

Contoh penggunaan

// Berlangganan event pemutaran.
PlayerEventBus.getInstance().subscribe(PlayerEvents.Prepared.class, event -> {
    long duration = event.duration;  // Durasi total video
});

// Berlangganan event error.
PlayerEventBus.getInstance().subscribe(PlayerEvents.Error.class, event -> {
    int code = event.errorCode;
    String msg = event.errorMsg;
});         

Sistem Logging

IPlayerLogger (Antarmuka Logging)

Antarmuka IPlayerLogger menyediakan konfigurasi logging global dan dapat diakses melalui AliPlayerKit.getLogger().

Metode

Parameter

Nilai kembali

Deskripsi

enableConsoleLog(boolean)

enable

void

Aktifkan atau nonaktifkan logging konsol.

isConsoleLogEnabled()

-

boolean

Periksa apakah logging konsol diaktifkan.

setLogLevel(int)

level

void

Atur tingkat log.

getLogLevel()

-

int

Ambil tingkat log saat ini.

setLogCallback(LoggerCallback)

callback

void

Atur listener callback log.

LogLevel (Tingkat Log)

Konstanta

Nilai

Deskripsi

LogLevel.VERBOSE

0

Tingkat paling detail. Mencatat semua informasi debug.

LogLevel.DEBUG

1

Tingkat debug.

LogLevel.INFO

2

Tingkat informasi.

LogLevel.WARN

3

Tingkat peringatan.

LogLevel.ERROR

4

Tingkat error.

LogLevel.NONE

100

Nonaktifkan semua log.

Antarmuka Preload

IPlayerPreloader (Antarmuka Preload)

Antarmuka IPlayerPreloader menyediakan manajemen preload global dan dapat diakses melalui AliPlayerKit.getPreloader().

Metode

Parameter

Nilai kembali

Deskripsi

addTask(PlayerPreloadTask, PreloadCallback)

task, listener

String

Tambahkan tugas preload dan kembalikan ID-nya.

cancelTask(String)

taskId

void

Membatalkan tugas tertentu.

pauseTask(String)

taskId

void

Menjeda tugas tertentu.

resumeTask(String)

taskId

void

Melanjutkan tugas tertentu.

PreloadCallback (Callback Preload)

Metode

Parameter

Deskripsi

onCompleted(String, VideoSource)

taskId, source

Preload selesai.

onError(String, VideoSource, int, String)

taskId, source, code, message

Error preload.

onCanceled(String, VideoSource)

taskId, source

Preload dibatalkan.

Kebijakan Siklus Hidup Pemutar

IPlayerLifecycleStrategy (Antarmuka Kebijakan Siklus Hidup Pemutar)

Antarmuka IPlayerLifecycleStrategy mendefinisikan cara instance pemutar dikelola sepanjang siklus hidupnya guna mengoptimalkan pembuatan dan penggunaan ulang instance tersebut.

Metode

Parameter

Nilai kembali

Deskripsi

init(IPlayerFactory)

factory

void

Inisialisasi kebijakan.

acquire(Context, String)

context, uniqueId

IMediaPlayer

Ambil instance pemutar.

recycle(IMediaPlayer, String, boolean)

player, uniqueId, force

void

Mendaur ulang instance pemutar.

clear()

-

void

Bersihkan semua resource.

preload(Context, int)

context, count

void

Pramuat instance player.

Kebijakan bawaan

Kelas kebijakan

Deskripsi

DefaultLifecycleStrategy

Kebijakan default: membuat instance baru setiap kali dan menghancurkannya segera setelah digunakan.

ReusePoolLifecycleStrategy

Kebijakan pool penggunaan ulang: terbaik untuk daftar streaming video.

IdScopedPoolLifecycleStrategy

Kebijakan berbasis ID: mengikat satu instance ke satu ID.

SingletonLifecycleStrategy

Kebijakan singleton: hanya satu instance global.

Untuk informasi lebih lanjut, lihat Kebijakan siklus hidup pemutar.

Sistem Strategi

StrategyManager (Manajer Strategi)

Kelas StrategyManager mengelola siklus hidup semua strategi dan dapat diakses melalui AliPlayerController.getStrategyManager().

Metode

Parameter

Nilai kembali

Deskripsi

register(IStrategy)

strategy

void

Mendaftarkan strategi.

unregister(IStrategy)

strategy

void

Batalkan Pendaftaran Kebijakan

getStrategy(String)

name

IStrategy

Ambil strategi berdasarkan nama.

start(StrategyContext)

context

void

Memulai semua strategi.

stop()

-

void

Menghentikan semua strategi.

reset()

-

void

Mereset semua strategi.

updateContext(StrategyContext)

context

void

Memperbarui konteks dan memulai ulang strategi.

destroy()

-

void

Hapus Manajer

getStrategyCount()

-

int

Ambil jumlah strategi yang terdaftar.

isStarted()

-

boolean

Anda dapat memeriksa apakah sudah dimulai.

IStrategy (Antarmuka Strategi)

Metode

Deskripsi

getName()

Ambil nama strategi.

onStart(StrategyContext)

Dipanggil ketika strategi dimulai.

onStop()

Dipanggil ketika strategi dihentikan.

onReset()

Dipanggil ketika strategi direset.