Compose Camera LogoCompose Camera
Use Cases

Basic Use Case

Quickly implement camera functionality with CameraPreview.

Using CameraPreview

The easiest way to integrate a camera is using the CameraPreview composable.

import io.github.l2hyunwoo.compose.camera.ui.CameraPreview
import io.github.l2hyunwoo.compose.camera.core.CameraConfiguration
import io.github.l2hyunwoo.compose.camera.core.CameraLens
import io.github.l2hyunwoo.compose.camera.core.rememberCameraPermissionManager

@Composable
fun CameraScreen() {
    // 1. Handle Permissions
    val permissionManager = rememberCameraPermissionManager()
    LaunchedEffect(Unit) {
        permissionManager.requestCameraPermissions()
    }

    // 2. Configure Camera
    var config by remember { mutableStateOf(CameraConfiguration(lens = CameraLens.BACK)) }

    // 3. Render Preview
    CameraPreview(
        modifier = Modifier.fillMaxSize(),
        configuration = config,
        onCameraControllerReady = { controller ->
            // Use controller to take pictures, record video, etc.
        }
    )
}

On this page