Skip to content

thisisthekap/Xamarin.ExoPlayerSlim

Repository files navigation

Xamarin.ExoPlayerSlim

Slim bindings for ExoPlayer. Using the awesome Xamarin.Binding.Helpers from Jonathan Dick (@Redth).

As this is a slim binding library, this repository is NOT aiming for full API coverage. Please see the java code located in https://github.com/thisisthekap/Xamarin.ExoPlayerSlim/tree/main/java/ExoPlayerSlim/exoplayerslim/src/main/java/com/tonestro/exoplayerslim on how the slim binding uses ExoPlayer.

About this Repository

This repository is not going to support newer versions of the ExoPlayer SDK. For newer versions of the SDK, and support for .NET 8 iOS (MAUI), please see https://github.com/thisisthekap/Tonestro.Maui.ExoPlayerSlim.Android.

NuGet Feed

NuGet packages are built using Azure DevOps: Build Status

NuGet packages are published on nuget.org.

Versioning Scheme

The versioning scheme of Xamarin.ExoPlayerSlim is derived from the versioning of google/ExoPlayer.

Example:

google/ExoPlayer Xamarin.ExoPlayerSlim Note
1.2.3 1.2.3.1 First version of bindings for 1.2.3
1.2.3 1.2.3.17 Bindings for 1.2.3 containing fixes

Troubleshooting

If you experience issues like java.lang.ClassNotFoundException: Didn't find class "androidx.core.app.CoreComponentFactory" or java.lang.NullPointerException: No suitable media source factory found for content type: 2, extend your proguard configuration like this:

# needed to fix exoplayer video playback

-keep public class androidx.core.app.*
-keep public class androidx.appcompat.widget.*
-keep public class com.google.android.exoplayer2.** { *; }