Skip to content

Latest commit

 

History

History
66 lines (46 loc) · 2.37 KB

File metadata and controls

66 lines (46 loc) · 2.37 KB

Offline Playback

A sample demonstrating how to download and play content offline with OptiView Player (formerly THEOplayer) using the caching API.

The app manages caching tasks (create, pause, resume, remove), tracks download progress with size overlays, and supports DRM license renewal for protected content. It uses Jetpack Compose with DefaultUI for the player UI.

OfflineActivity displays downloadable sources and some extra information about them. PlayerActivity uses Compose with DefaultUI for playback. OfflineDrmLicenseRenewalWorker handles background DRM license renewal via WorkManager.

Quick Start

  1. Open this repository in Android Studio.
  2. Select the offline-playback run configuration.
  3. Build and run on a device or emulator.

THEOplayer dependency

This project uses THEOplayer from the official Maven repository.

The repository is declared in the project-level settings.gradle.kts:

dependencyResolutionManagement {
    repositories {
        maven { url = uri("https://maven.theoplayer.com/releases") }
    }
}

Dependencies are managed through a version catalog and declared in the module-level build.gradle.kts:

dependencies {
    implementation(libs.theoplayer)
    implementation(libs.theoplayer.ui)
    implementation(libs.work.runtime)
}

License key

To play your own streams, add a THEOplayer license from the THEOportal in common/src/main/res/values/values.xml:

<string name="theoplayer_license">YOUR_LICENSE_HERE</string>

The license is picked up automatically via the <meta-data> tag in AndroidManifest.xml.

Streams

Video sources are defined in SourceManager.

License

This project is licensed under the BSD 3 Clause License - see the LICENSE file for details.