API Reference
After creating ByteArkPlayerFragment, you can call the player API through ByteArkPlayerFragmentController.
Setup methods
| Method | Description |
startService() | Start the Player Service |
releaseService() | Release the Player Service and its resources |
addFragmentEventListener(listener: PlayerFragmentListener) | Add a listener for player events |
removeFragmentEventListener(listener: PlayerFragmentListener) | Remove a listener |
addCompanionAdSlot(slot: ByteArkCompanionAdSlot) | Add a Companion Ad slot |
| Method | Description |
openMedia(item: ByteArkPlayerItem) | Open a video for playback |
openPlaylist(playlist: ByteArkPlayerPlaylist) | Open a playlist |
getPlayerItem(): ByteArkPlayerItem? | Returns the currently playing ByteArkPlayerItem |
getPlaylist(): ByteArkPlayerPlaylist? | Returns the current playlist |
getCurrentQueue(): List<ByteArkPlayerItem> | Returns the current queue |
selectQueueItem(item: ByteArkPlayerItem) | Select a queue item to play |
addItemToQueue(item: ByteArkPlayerItem) | Add an item to the queue |
removeQueueItem(item: ByteArkPlayerItem) | Remove an item from the queue |
Playback controller
| Method | Description |
play() | Start playback |
pause() | Pause playback |
seekTo(position: Long) | Seek to a position (milliseconds) |
seekForward() | Seek forward by withSeekTime |
seekBackward() | Seek backward by withSeekTime |
next() | Play the next item in the playlist/queue |
previous() | Play the previous item |
Tracks & quality
| Method | Description |
getCurrentAudio(): ByteArkAudio? | Current audio track |
getAudios(): List<ByteArkAudio> | All audio tracks |
setAudio(audio: ByteArkAudio) | Select an audio track |
getCurrentSubtitle(): ByteArkSubtitle? | Current subtitle |
getSubtitles(): List<ByteArkSubtitle> | All subtitles |
setSubtitle(subtitle: ByteArkSubtitle) | Select a subtitle |
getCurrentResolution(): ByteArkResolution? | Current resolution |
getResolutions(): List<ByteArkResolution> | All available resolutions |
setResolution(resolution: ByteArkResolution) | Select a resolution |
Playback speed
| Method | Description |
getAvailablePlaybackSpeeds(): List<Float> | Available playback speeds |
getCurrentPlaybackSpeed(): Float | Current playback speed |
setPlaybackSpeed(speed: Float) | Set playback speed |
Time & status
| Method | Description |
getCurrentTime(): Long | Current playback time (milliseconds) |
getDuration(): Long | Total duration (milliseconds) |
isReady(): Boolean | Player is ready |
isPlaying(): Boolean | Currently playing |
isBuffering(): Boolean | Currently buffering |
isSeeking(): Boolean | Currently seeking |
isEnded(): Boolean | Playback ended |
isMuted(): Boolean | Muted |
isFullScreen(): Boolean | In full-screen mode |
isInPictureInPicture(): Boolean | In Picture-in-Picture mode |
UI controller
| Method | Description |
toggleFullScreen() | Toggle full-screen mode |
togglePictureInPicture() | Toggle Picture-in-Picture |
showControls() | Show the control bar |
hideControls() | Hide the control bar |