An open API service indexing awesome lists of open source software.

https://github.com/livekit/components-android

Jetpack Compose Components for LiveKit Android SDK
https://github.com/livekit/components-android

Last synced: 11 months ago
JSON representation

Jetpack Compose Components for LiveKit Android SDK

Awesome Lists containing this project

README

          



The LiveKit icon, the name of the repository and some sample code in the background.

# LiveKit Components for Android

Use this SDK to add realtime video, audio and data features to your Android app. By connecting to LiveKit Cloud or a self-hosted server, you can quickly build applications such as multi-modal AI, live streaming, or video calls with just a few lines of code.

# Table of Contents

- [Docs](#docs)
- [Installation](#installation)
- [Usage](#basic-usage)

## Docs

Docs and guides at [https://docs.livekit.io](https://docs.livekit.io)

## Installation

LiveKit Components for Android is available as a Maven package.

```groovy title="build.gradle"
...
dependencies {
// The components package has a different versioning than the main LiveKit SDK.
implementation "io.livekit:livekit-android-compose-components:1.4.0"

// Snapshots of the latest development version are available at:
// implementation "io.livekit:livekit-android-compose-components:1.4.1-SNAPSHOT"

// Depend on LiveKit SDK separately to keep up to date.
implementation "io.livekit:livekit-android:$livekit_version"
}
```

You'll also need jitpack as one of your repositories.

```groovy
subprojects {
repositories {
google()
mavenCentral()
// ...
maven { url 'https://jitpack.io' }

// For SNAPSHOT access
// maven { url 'https://central.sonatype.com/repository/maven-snapshots/' }
}
}
```

## Basic Usage

```kotlin
@Composable
fun exampleComposable() {
// Create and connect to a room.
RoomScope(
url = wsURL,
token = token,
audio = true,
video = true,
connect = true,
) {
// Get all the tracks in the room
val trackRefs = rememberTracks()

// Display the video tracks
LazyColumn(modifier = Modifier.fillMaxSize()) {
items(trackRefs.size) { index ->
VideoTrackView(
trackReference = trackRefs[index],
modifier = Modifier.fillParentMaxHeight(0.5f)
)
}
}
}
}
```

## Example App

See our [Meet Example app](https://github.com/livekit-examples/android-components-meet) for a simple teleconferencing app, and [Livestream Example app](https://github.com/livekit-examples/android-livestream) for a
fully-functional livestreaming app, with more fleshed out usage of the Components SDK.



LiveKit Ecosystem

LiveKit SDKsBrowser · iOS/macOS/visionOS · Android · Flutter · React Native · Rust · Node.js · Python · Unity · Unity (WebGL) · ESP32
Server APIsNode.js · Golang · Ruby · Java/Kotlin · Python · Rust · PHP (community) · .NET (community)
UI ComponentsReact · Android Compose · SwiftUI · Flutter
Agents FrameworksPython · Node.js · Playground
ServicesLiveKit server · Egress · Ingress · SIP
ResourcesDocs · Example apps · Cloud · Self-hosting · CLI