# Resolution
ByteArk Player SDK for iOS supports both automatic Adaptive Bitrate Streaming (ABR) and manual resolution selection by the viewer.
# Adaptive Bitrate Streaming (ABR)
By default, AVPlayer adjusts the resolution automatically based on network speed using HLS ABR.
# Select a resolution via API
// List all resolutions
let resolutions: [ByteArkPlayerMediaResolution] = player.resolutions
// Current resolution
let current: ByteArkPlayerMediaResolution? = player.resolution
// Select a resolution
player.setResolution(resolutions[0])
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# Receive resolution-change events
override func playbackResolutionChanged(
player: ByteArkPlayer,
resolution: ByteArkPlayerMediaResolution?
) {
super.playbackResolutionChanged(player: player, resolution: resolution)
// Resolution changed
}
1
2
3
4
5
6
7
2
3
4
5
6
7
Note
For showing a resolution picker on Safari for iOS/iPadOS in a Web context, see the Web SDK's Apple Quality Switcher. On the native iOS SDK the player relies on AVPlayer's ABR.