Getting started
Installation
- Create a new Jetpack Compose app or set up Compose in your existing Android app by following the Compose quick start guide.
- Add the native THEOplayer Android SDK to your project by following these installation instructions.
- Add the THEOplayer Maven repository to your project-level
settings.gradle
file:- Groovy
- Kotlin
dependencyResolutionManagement {
repositories {
google()
mavenCentral()
maven { url "https://maven.theoplayer.com/releases" }
}
}dependencyResolutionManagement {
repositories {
google()
mavenCentral()
maven { url = uri("https://maven.theoplayer.com/releases") }
}
} - Add Open Video UI as a dependency in your module-level
build.gradle
file:- Groovy
- Kotlin
dependencies {
implementation "com.theoplayer.theoplayer-sdk-android:core:5.+"
implementation "com.theoplayer.android-ui:android-ui:1.+"
}dependencies {
implementation("com.theoplayer.theoplayer-sdk-android:core:5.+")
implementation("com.theoplayer.android-ui:android-ui:1.+")
}
Usage
Default UI
DefaultUI
provides a fully-featured video player experience with minimal setup.
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import com.theoplayer.android.api.THEOplayerConfig
import com.theoplayer.android.api.source.SourceDescription
import com.theoplayer.android.ui.DefaultUI
import com.theoplayer.android.ui.theme.THEOplayerTheme
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
THEOplayerTheme(useDarkTheme = true) {
DefaultUI(
config = THEOplayerConfig.Builder().build(),
source = SourceDescription.Builder("https://cdn.theoplayer.com/video/big_buck_bunny/big_buck_bunny.m3u8")
.build(),
title = "Big Buck Bunny"
)
}
}
}
}
See the demo app for a complete and working example.
Custom UI
If you want to fully customize your video player layout, you can use a UIController
instead.
setContent {
UIController(
config = THEOplayerConfig.Builder().build(),
source = SourceDescription.Builder("https://cdn.theoplayer.com/video/big_buck_bunny/big_buck_bunny.m3u8")
.build(),
// Choose your own layout using the provided components (or your own!)
bottomChrome = {
SeekBar()
Row {
PlayButton()
MuteButton()
Spacer(modifier = Modifier.weight(1f))
FullscreenButton()
}
}
)
}