Multimédia kezelés (Xam.Plugin.Media)
Beküldte eros.tamas - 2020, március 27 - 12:09
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"?><paths xmlns:android="http://schemas.android.com/apk/res/android"><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: