https://github.com/felipenicoletto/mediafilesmanager
Simple cross platform plugin to access images and videos on Android and iOS
https://github.com/felipenicoletto/mediafilesmanager
access android cross-platform dot-net files images ios manager media photos plugin thumbnail videos xamarin
Last synced: about 2 months ago
JSON representation
Simple cross platform plugin to access images and videos on Android and iOS
- Host: GitHub
- URL: https://github.com/felipenicoletto/mediafilesmanager
- Owner: FelipeNicoletto
- License: mit
- Created: 2017-11-08T00:19:25.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-03-26T00:19:00.000Z (about 6 years ago)
- Last Synced: 2025-03-29T19:11:28.648Z (3 months ago)
- Topics: access, android, cross-platform, dot-net, files, images, ios, manager, media, photos, plugin, thumbnail, videos, xamarin
- Language: C#
- Homepage:
- Size: 1.63 MB
- Stars: 7
- Watchers: 0
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# MediaFilesManager
Simple cross platform plugin to access images and videos on Android and iOS.
**Platform Support**
|Platform|Version|
| ------------------- | :-----------: |
|Xamarin.iOS|iOS 8+|
|Xamarin.Android|API 14+|## Installing
Install the [NuGet package MediaFilesManager](https://www.nuget.org/packages/MediaFilesManager):
```
nuget install MediaFilesManager
```### API Usage
Call **CrossMediaFileManager.Current.GetAlbumsAsync()**
```csharp
Task GetAlbumsAsync();
```The result is an array of all device's imagens and videos albums (IMediaAlbum[])
```csharp
public interface IMediaAlbum
{
string Title { get; }IMediaFile[] GetAllMediaFiles(MediaAlbumContentType contentTypes = MediaAlbumContentType.All);
MediaAlbumContentType GetContentTypes();
IMediaFile GetMediaFileAtIndex(int index, MediaAlbumContentType contentTypes = MediaAlbumContentType.All);
int GetMediaFilesCount(MediaAlbumContentType contentTypes = MediaAlbumContentType.All);
}
```Get all images and videos from an album:
```csharp
IMediaFile[] files = album.GetAllMediaFiles(MediaAlbumContentType.Images | MediaAlbumContentType.Videos);
```Get the file's thumbnail:
```csharp
var file = files[0] as IMediaFileWithImage;ImageStream stream = file.GetImage(MediaFileGetImageOptions.CreateDefaultThumb());
```Get custom image:
```csharp
var file = files[0] as IMediaFileWithImage;var options = new MediaFileGetImageOptions
{
Width = 500,
Height = 500,
Quality = 90,
Orientation = MediaFileImageOrientation.Right, // Rotate image to right
ResizeAspect = MediaFileGetImageOptions.ImageResizeAspect.AspectFit
};ImageStream stream = file.GetImage(options);
```Get the full size file's stream:
```csharp
Stream stream = files[0].GetStream();
```### Android specific in your BaseActivity or MainActivity (for Xamarin.Forms) add this code:
```csharp
using MediaFilesManager;
using Xamarin.Forms;protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);global::Xamarin.Forms.Forms.Init(this, bundle);
MediaFileManager.Initialize(Forms.Context);
LoadApplication(new App());
}public override void OnRequestPermissionsResult(int requestCode, string[] permissions, [GeneratedEnum] Permission[] grantResults)
{
base.OnRequestPermissionsResult(requestCode, permissions, grantResults);MediaFileManager.Current.OnRequestPermissionsResult(requestCode, permissions, grantResults);
}
```
### Samples
- Albums- Photos
- Rotated