# Resolution

ByteArk Player SDK for Android supports both automatic Adaptive Bitrate Streaming (ABR) and manual resolution selection.

# Adaptive Bitrate Streaming (ABR)

By default the player adjusts resolution automatically based on network speed via ExoPlayer's ABR.

# Show the resolution picker

Enable withSettingButton() to let viewers pick a resolution from the UI:

val playerBuilder = ByteArkPlayerBuilder.Builder()
  .withContext(this)
  .withControl()
  .withSettingButton()
  .build()
1
2
3
4
5

# Select resolution via API

val resolutions: List<ByteArkResolution> = mPlayerFragment.getResolutions()
val current: ByteArkResolution? = mPlayerFragment.getCurrentResolution()
mPlayerFragment.setResolution(resolutions[0])
1
2
3
4

Note

When a resolution is set manually, ABR is paused for that selection. The viewer can return to ABR by selecting the "Auto" option in the Settings button.