Skip to main content
Version: 1.2.0

Camera

Some VideoKit components (like Recorder or StreamHost) will automatically open a connection with the camera sensor available on the device. We offer control over some core camera features through the Camera interface and its listeners.

You can typically access the camera object from the parent component, for example:

val camera = recorder.camera // from recorder module
val camera = streamHost.camera // from live stream module

Facing#

You can choose which sensor is active by changing the camera facing value:

camera.facing = CameraFacing.FRONT // switch to front
camera.facing = CameraFacing.BACK // switch to back
camera.toggleFacing() // switch to the other one

You can observe the facing value with a listener:

camera.addListener(object : CameraListener {
override fun onFacingChanged(@CameraFacing.Value facing: Int) {
// Handle change.
}
})

Flash#

You can control the flash behavior by changing the camera flash value:

camera.flash = CameraFlash.ON // turn torch on
camera.flash = CameraFlash.OFF // turn it on
camera.toggleFlash() // switch to the other one

You can observe the flash value with a listener:

camera.addListener(object : CameraListener {
override fun onFlashChanged(@CameraFlash.Value flash: Int) {
// Handle change.
}
})

Zoom#

You can control the sensor zoom by changing the camera zoom value. This value goes from 0 to 1, where 0 means no zoom and 1 means that maximum zoom will been applied.

camera.zoom = 0F // zoom out
camera.zoom = 1F // zoom in as much as possible

You can observe the zoom value with a listener:

camera.addListener(object : CameraListener {
override fun onZoomChanged(zoom: Float) {
// Handle change.
}
})
Last updated on