名称 最后更新
.github/workflows 正在载入提交数据...
.idea 正在载入提交数据...
gradle 正在载入提交数据...
livekit-android-sdk 正在载入提交数据...
sample-app-compose 正在载入提交数据...
sample-app 正在载入提交数据...
.gitignore 正在载入提交数据...
.gitmodules 正在载入提交数据...
LICENSE 正在载入提交数据...
README.md 正在载入提交数据...
build.gradle 正在载入提交数据...
gradle.properties 正在载入提交数据...
gradlew 正在载入提交数据...
gradlew.bat 正在载入提交数据...
release-instructions.md 正在载入提交数据...
settings.gradle 正在载入提交数据...
protocol @ 1dadf893

Android Kotlin SDK for LiveKit

Official Android Client SDK for LiveKit. Easily add video & audio capabilities to your Android apps.

Docs

Docs and guides at https://docs.livekit.io

Installation

LiveKit for Android is available as a Maven package.

```groovy title="build.gradle" ... dependencies { implementation "io.livekit:livekit-android:" }


## Usage

LiveKit uses WebRTC-provided `org.webrtc.SurfaceViewRenderer` to render video tracks. Subscribed audio tracks are automatically played.

```kt
class MainActivity : AppCompatActivity(), RoomListener {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        ...
        val url = "wss://your_host";
        val token = "your_token"

        launch {
            val room = LiveKit.connect(
                applicationContext,
                url,
                token,
                ConnectOptions(),
                this
            )
            val localParticipant = room.localParticipant
            val audioTrack = localParticipant.createAudioTrack()
            localParticipant.publishAudioTrack(audioTrack)
            val videoTrack = localParticipant.createVideoTrack()
            localParticipant.publishVideoTrack(videoTrack)
            videoTrack.startCapture()

            attachVideo(videoTrack, localParticipant)
        }
    }

    override fun onTrackSubscribed(
        track: Track,
        publication: RemoteTrackPublication,
        participant: RemoteParticipant,
        room: Room
    ) {
        if (track is VideoTrack) {
            attachVideo(track, participant)
        }
    }

    private fun attachVideo(videoTrack: VideoTrack, participant: Participant) {
        // viewBinding.renderer is a `org.webrtc.SurfaceViewRenderer` in your
        // layout
        videoTrack.addRenderer(viewBinding.renderer)
    }
}

Dev Environment

To develop the Android SDK itself, you'll need:

Optional (Dev convenience)

  1. Download webrtc sources from https://webrtc.googlesource.com/src
  2. Add sources to Android Studio by pointing at the webrtc/sdk/android folder.