Multimédia kezelés (Xam.Plugin.Media)

Kiegészítő:
Xam.Plugin.Media
 
Módosítások Projekt.Android esetén
- MainActivity.cs > OnRequestPermissionResult átírása
public override void OnRequestPermissionsResult(int requestCode, string[] permissions, Android.Content.PM.Permission[] grantResults)
{
    Plugin.Permissions.PermissionsImplementation.Current.OnRequestPermissionsResult(requestCode, permissions, grantResults);
}
 
- Properties > AndroidManifext.xml > application tagen belül
<provider android:name="android.support.v4.content.FileProvider" 
android:authorities="${applicationId}.fileprovider" 
android:exported="false" 
android:grantUriPermissions="true">
<meta-data android:name="android.support.FILE_PROVIDER_PATHS" 
android:resource="@xml/file_paths"></meta-data>
</provider>
 
- Új mappa létrehozása Resources mappán belül xml néven
 
- Új fájl létrehozása Resources > xml-en belül file_paths.xml néven, az alábbi tartalommal
<?xml version="1.0" encoding="utf-8"?>
    <external-files-path name="my_images" path="Pictures" />
    <external-files-path name="my_movies" path="Movies" />
</paths>
 
- CurrentActivity Plugin feltelepítése, de csak Android esetén!
 
- MainActivity.cs > OnCreate()-en belül a LoadApplication() felett
CrossCurrentActivity.Current.Init(this, savedInstanceState);
 
Módosítások Projekt.iOS esetén
- Info.plist > Jobb egérgombos menü > OpenWith... >  XML (Text) Editor > OK gomb
- Ezen fájl esetén a dict-en belül
<key>NSCameraUsageDescription</key>
<string>This app needs access to the camera to take photos.</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>This app needs access to photos.</string>
<key>NSMicrophoneUsageDescription</key>
<string>This app needs access to microphone.</string>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>This app needs access to the photo gallery.</string>
 
Mellékelt ResizeImageAsync függvény használata
byte[] filebytearray_mini = await DependencyService.Get<IMyInterface>().ResizeImageAsync(filebytearray, 150, 50);
 
Elérhető erőforrások lekérdezése
- IsCameraAvailable: Rendelkezik-e a készülék kamerával
- IsTakePhotoSupported: Támogatva van-e a fénykép készítése
- IsPickPhotoSupported: Támogatva van-e a fénykép fájl feltöltése
- IsTakeVideoSupported: Támogatva van-e a videó készítése
- IsPickVideoSupported: Támogatva van-e a videó fájl feltöltése
await CrossMedia.Current.Initialize();
if (CrossMedia.Current.IsTakePhotoSupported) { ... } else { ... }
 
Fénykép feltöltése
var file = await CrossMedia.Current.PickPhotoAsync(new Plugin.Media.Abstractions.PickMediaOptions
{
    ... beállítások ...
});
 
Fénykép készítése
var file = await CrossMedia.Current.TakePhotoAsync(new Plugin.Media.Abstractions.StoreCameraMediaOptions
{
    ... beállítások ...
});
 
Videó feltöltése
var file = await CrossMedia.Current.PickVideoAsync();
 
Videó készítése
var file = await CrossMedia.Current.TakeVideoAsync(new Plugin.Media.Abstractions.StoreVideoOptions
{
    ... beállítások ...
});
Mobilos kategóriák: