Xam.Plugins.Android.ExoPlayer
2.19.1
Requires NuGet 2.14 or higher.
dotnet add package Xam.Plugins.Android.ExoPlayer --version 2.19.1
NuGet\Install-Package Xam.Plugins.Android.ExoPlayer -Version 2.19.1
<PackageReference Include="Xam.Plugins.Android.ExoPlayer" Version="2.19.1" />
paket add Xam.Plugins.Android.ExoPlayer --version 2.19.1
#r "nuget: Xam.Plugins.Android.ExoPlayer, 2.19.1"
// Install Xam.Plugins.Android.ExoPlayer as a Cake Addin #addin nuget:?package=Xam.Plugins.Android.ExoPlayer&version=2.19.1 // Install Xam.Plugins.Android.ExoPlayer as a Cake Tool #tool nuget:?package=Xam.Plugins.Android.ExoPlayer&version=2.19.1
ExoPlayer Plugin for Xamarin
Xamarin bindings library for the Google ExoPlayer library.
ExoPlayer is an application level media player for Android. It provides an alternative to Android’s MediaPlayer API for playing audio and video both locally and over the Internet. ExoPlayer supports features not currently supported by Android’s MediaPlayer API, including DASH and SmoothStreaming adaptive playbacks. Unlike the MediaPlayer API, ExoPlayer is easy to customize and extend, and can be updated through Play Store application updates.
Support
- Feel free to open an issue. Make sure to use one of the templates!
- Commercial support is available. Integration with your app or services, samples, feature request, etc. Email: hello@baseflow.com
- Powered by: baseflow.com
Documentation
- The developer guide provides a wealth of information.
- The class reference documents ExoPlayer classes.
- The release notes document the major changes in each release.
- Follow our developer blog to keep up to date with the latest ExoPlayer developments!
Using ExoPlayer
The ExoPlayer plugin is available on Nuget.
var HttpDataSourceFactory = new DefaultHttpDataSource.Factory().SetAllowCrossProtocolRedirects(true);
var MainDataSource = new ProgressiveMediaSource.Factory(HttpDataSourceFactory);
var Exoplayer = new IExoPlayer.Builder(Context).SetMediaSourceFactory(MainDataSource).Build();
MediaItem mediaItem = MediaItem.FromUri(Android.Net.Uri.Parse("https://ia800806.us.archive.org/15/items/Mp3Playlist_555/AaronNeville-CrazyLove.mp3"));
Exoplayer.AddMediaItem(mediaItem);
Exoplayer.Prepare();
Exoplayer.PlayWhenReady = true;
See the Exoplayer.Droid sample app for further details.
IMPORTANT: Exoplayer 2.9.0 and up requires Visual Studio 2019 with R8 and D8. You also need to enable AAPT2. Readmore at: https://devblogs.microsoft.com/xamarin/androids-d8-dexer-and-r8-shrinker/
Thanks to
- Nathan Barger for doing the initial porting work
- MKuckert for helping with bindings and samples
- bspinner for helping with bindings and samples
License
- ExoPlayerXamarin plugin is licensed under MIT
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0-android33.0 is compatible. net7.0-android was computed. net7.0-android33.0 is compatible. net8.0-android was computed. |
-
net6.0-android33.0
- Xam.Plugins.Android.ExoPlayer.Common (>= 2.19.1)
- Xam.Plugins.Android.ExoPlayer.Core (>= 2.19.1)
- Xam.Plugins.Android.ExoPlayer.Dash (>= 2.19.1)
- Xam.Plugins.Android.ExoPlayer.Database (>= 2.19.1)
- Xam.Plugins.Android.ExoPlayer.DataSource (>= 2.19.1)
- Xam.Plugins.Android.ExoPlayer.Decoder (>= 2.19.1)
- Xam.Plugins.Android.ExoPlayer.Extractor (>= 2.19.1)
- Xam.Plugins.Android.ExoPlayer.Hls (>= 2.19.1)
- Xam.Plugins.Android.ExoPlayer.Rtsp (>= 2.19.1)
- Xam.Plugins.Android.ExoPlayer.SmoothStreaming (>= 2.19.1)
- Xam.Plugins.Android.ExoPlayer.Transformer (>= 2.19.1)
- Xam.Plugins.Android.ExoPlayer.UI (>= 2.19.1)
-
net7.0-android33.0
- Xam.Plugins.Android.ExoPlayer.Common (>= 2.19.1)
- Xam.Plugins.Android.ExoPlayer.Core (>= 2.19.1)
- Xam.Plugins.Android.ExoPlayer.Dash (>= 2.19.1)
- Xam.Plugins.Android.ExoPlayer.Database (>= 2.19.1)
- Xam.Plugins.Android.ExoPlayer.DataSource (>= 2.19.1)
- Xam.Plugins.Android.ExoPlayer.Decoder (>= 2.19.1)
- Xam.Plugins.Android.ExoPlayer.Extractor (>= 2.19.1)
- Xam.Plugins.Android.ExoPlayer.Hls (>= 2.19.1)
- Xam.Plugins.Android.ExoPlayer.Rtsp (>= 2.19.1)
- Xam.Plugins.Android.ExoPlayer.SmoothStreaming (>= 2.19.1)
- Xam.Plugins.Android.ExoPlayer.Transformer (>= 2.19.1)
- Xam.Plugins.Android.ExoPlayer.UI (>= 2.19.1)
NuGet packages (13)
Showing the top 5 NuGet packages that depend on Xam.Plugins.Android.ExoPlayer:
Package | Downloads |
---|---|
Plugin.MediaManager
Cross platform .NET Xamarin plugin to play and control Audio and Video |
|
CommunityToolkit.Maui.MediaElement
MediaElement is a view for playing video and audio in your .NET MAUI app. |
|
Ziggeo.XamarinSDK.Netstandard
Ziggeo API (https://ziggeo.com) allows you to integrate video recording and playback with only several lines of code in your app. |
|
Beezy.AdaptiveCards.Droid.Bindings
Microsoft adaptive card for Xamarin Android |
|
Plugin.MediaManager.ExoPlayer
ExoPlayer supports more advanced video and audio playback. This is based on the MediaManager plugin |
GitHub repositories (6)
Showing the top 5 popular GitHub repositories that depend on Xam.Plugins.Android.ExoPlayer:
Repository | Stars |
---|---|
CommunityToolkit/Maui
The .NET MAUI Community Toolkit is a community-created library that contains .NET MAUI Extensions, Advanced UI/UX Controls, and Behaviors to help make your life as a .NET MAUI developer easier
|
|
Baseflow/XamarinMediaManager
Cross platform Xamarin plugin to play and control Audio and Video
|
|
brminnick/GitTrends
A iOS and Android app to monitor the Views, Clones and Star history of your GitHub repos
|
|
o1298098/Xamarin-CloudMusic
Xamarin.Forms goodlooking UI sample
|
|
jerry08/Anikin
A multi-platform app to stream/download videos.
|
Version | Downloads | Last updated |
---|---|---|
2.19.1 | 171,500 | 8/28/2023 |
2.19.1-xamarin1 | 940 | 8/29/2023 |
2.18.11 | 37,164 | 2/23/2023 |
2.18.10 | 89,175 | 2/16/2023 |
2.18.10-xamarin1 | 1,856 | 3/23/2023 |
2.18.9 | 1,951 | 2/6/2023 |
2.18.9-xamarin.1 | 1,542 | 2/6/2023 |
2.18.8 | 9,361 | 12/8/2022 |
2.18.7 | 817 | 12/7/2022 |
2.18.6 | 4,644 | 11/29/2022 |
2.18.5 | 903 | 11/18/2022 |
2.18.4 | 837 | 11/15/2022 |
2.18.3 | 2,205 | 9/2/2022 |
2.16.1 | 2,258 | 9/2/2022 |
2.14.6 | 5,916 | 8/29/2022 |
2.14.3 | 1,106 | 8/11/2022 |
2.14.2 | 1,022 | 8/9/2022 |
2.11.8 | 355,344 | 8/10/2020 |
2.11.7 | 1,061 | 8/10/2020 |
2.11.6 | 17,552 | 6/24/2020 |
2.11.4 | 4,812 | 3/4/2020 |
2.11.3 | 1,468 | 2/24/2020 |
2.9.8 | 112,105 | 10/8/2019 |
2.9.7 | 10,069 | 7/5/2019 |
2.9.6 | 4,985 | 5/9/2019 |
2.9.0 | 3,118 | 9/28/2018 |
2.8.8 | 70,129 | 8/27/2018 |
2.8.7 | 2,217 | 8/14/2018 |
2.8.6 | 1,548 | 8/10/2018 |
2.8.5 | 4,756 | 8/1/2018 |
2.8.4 | 26,684 | 7/10/2018 |
2.8.3 | 3,383 | 6/1/2018 |
2.8.2 | 3,178 | 5/31/2018 |
2.8.1 | 1,635 | 5/29/2018 |
2.8.0 | 1,813 | 5/10/2018 |
2.7.3 | 7,436 | 4/23/2018 |
2.7.2 | 3,274 | 4/5/2018 |
2.6.0 | 29,609 | 11/28/2017 |
2.5.3 | 48,950 | 9/25/2017 |
2.5.2 | 3,506 | 9/13/2017 |
2.5.1.2 | 2,450 | 8/22/2017 |
2.5.1.1 | 1,638 | 8/21/2017 |
2.5.1 | 1,669 | 8/21/2017 |
2.2.0 | 13,470 | 3/9/2017 |
2.1.1 | 6,809 | 12/27/2016 |
2.0.4.1 | 55,413 | 10/31/2016 |
2.0.4 | 6,277 | 10/21/2016 |
1.5.11.1 | 10,545 | 10/20/2016 |
1.5.11 | 1,625 | 10/20/2016 |
1.5.10 | 2,701 | 8/25/2016 |
1.5.8 | 10,571 | 5/13/2016 |
1.5.6 | 6,305 | 3/3/2016 |
1.5.4 | 1,711 | 2/1/2016 |
1.5.3 | 1,780 | 1/12/2016 |
1.5.2 | 1,870 | 12/1/2015 |
1.4.2 | 1,752 | 9/9/2015 |
1.3.3 | 1,715 | 7/15/2015 |
0.0.0.3 | 2,138 | 2/4/2015 |
0.0.0.2 | 2,010 | 1/15/2015 |
0.0.0.1 | 2,015 | 1/12/2015 |