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.
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 packages are built using Azure DevOps:
NuGet packages are published on nuget.org.
The versioning scheme of Xamarin.ExoPlayerSlim
is derived from the versioning of google/ExoPlayer.
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 |
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.** { *; }