Essential Kit Tutorials
DocumentationDownload
Version 2
Version 2
  • Introduction
  • Features
  • Version 2 vs Version 1
  • Release Notes
    • ✅Version 2.7.4
    • Version 2.7.3
    • Version 2.7.2
    • Version 2.7.1
    • Version 2.7.0
    • Older Versions
      • Version 2.6.1
      • Version 2.6.0
      • Version 2.5.1
      • Version 2.5.0
      • Version 2.4.1
      • Version 2.4.0
      • Version 2.3.1
      • Version 2.3.0
      • Version 2.2.1
      • Version 2.2.0
      • Version 2.1.1
      • Version 2.1.0
      • Version 2.0.4
      • Version 2.0.3
      • Version 2.0.2
      • Version 2.0.1
      • Version 2.0.0
  • Plugin Overview
    • Settings
    • Folder Structure
    • Installation FAQ
    • Localisation
  • Address Book
    • Overview
    • Use Cases
    • Setup
    • Usage
    • Testing
    • FAQ
  • Billing Services
    • Overview
    • Use Cases
    • Setup
      • iOS
      • Android
    • Usage
    • Testing
      • iOS
      • Android
    • FAQ
  • Cloud Services
    • Overview
    • Use Cases
    • Setup
      • iOS
      • Android
    • Usage
    • Testing
    • FAQ
  • Deep Link Services
    • Overview
    • Use Cases
    • Setup
      • iOS
      • Android
    • Usage
    • Testing
    • FAQ
  • Extras (Utilities)
    • Overview
    • Usage
  • Game Services
    • Overview
    • Use Cases
    • Setup
      • iOS
      • Android
    • Usage
    • FAQ
  • Media Services
    • Overview
    • Use Cases
    • Setup
    • Usage
    • FAQ
  • Native UI
    • Overview
    • Use Cases
    • Setup
    • Usage
    • FAQ
  • Network Services
    • Overview
    • Use Cases
    • Setup
    • Usage
    • FAQ
  • Notification Services
    • Overview
    • Use Cases
    • Setup
      • iOS
      • Android
    • Usage
    • FAQ
  • Rate My App
    • Overview
    • Use Cases
    • Setup
    • Usage
    • FAQ
  • Sharing
    • Overview
    • Use Cases
    • Setup
    • Usage
      • Message Composer
      • Mail Composer
      • Social Share Composer
      • Share Sheet
    • FAQ
  • Web View
    • Overview
    • Use Cases
    • Setup
    • Usage
    • FAQ
  • Notes
    • Resolving Android Gradle Build Errors
    • Google Play Services Authentication
Powered by GitBook
On this page

Was this helpful?

Edit on GitHub
  1. Media Services

Usage

PreviousSetupNextFAQ

Last updated 4 years ago

Was this helpful?

Once you have that you are going to use in Media Services, you can start using the API by importing the namespace.

Using VoxelBusters.EssentialKit;

Once after importing the namespace, all features within Media Services can be accessed through MediaServices class.

Before accessing any gallery features, you need to check if your app have access to gallery.

Get read status

GalleryAccessStatus readAccessStatus   = MediaServices.GetGalleryAccessStatus(GalleryAccessMode.Read);

Get read/write status

GalleryAccessStatus readWriteAccessStatus   = MediaServices.GetGalleryAccessStatus(GalleryAccessMode.ReadWrite);

Once you know the and you don't have the permission, you can request the access. This request will popup a dialog to let user allow the permission.

Request gallery access for Read mode

MediaServices.RequestGalleryAccess(GalleryAccessMode.Read, callback: (result, error) =>
{
    Debug.Log("Request for gallery access finished.");
    Debug.Log("Gallery access status: " + result.AccessStatus);
});

Request gallery access for ReadWrite mode

MediaServices.RequestGalleryAccess(GalleryAccessMode.ReadWrite, callback: (result, error) =>
{
    Debug.Log("Request for gallery access finished.");
    Debug.Log("Gallery access status: " + result.AccessStatus);
});

Read camera access

MediaServices.RequestCameraAccess(callback: (result, error) =>
{
    Debug.Log("Request for camera access finished.");
    Debug.Log("Camera access status: " + result.AccessStatus);
});

Get images from Gallery or Camera

For getting the images from gallery, you need read access(GalleryAccessmode.Read) to gallery. Once you have the access, you can call SelectImageFromGallery which can return the texture data in the callback.

MediaServices.SelectImageFromGallery(canEdit: true, (textureData, error) =>
{
    if (error == null)
    {
        Debug.Log("Select image from gallery finished successfully.");
        //textureData.GetTexture() // This returns the texture
    }
    else
    {
        Debug.Log("Select image from gallery failed with error. Error: " + error);
    }
});

canEdit flag will be ignored on Android where as on iOS it opens up an option to edit the image allowing it to crop.

For capturing an image from device camera, you need camera permission which can be gained with RequestCameraAccess method. Once you have the permission, you can call CaptureImageFromCamera method.

MediaServices.CaptureImageFromCamera(true, (textureData, error) =>
{
    if (error == null)
    {
        Debug.Log("Capture image using camera finished successfully.");
    }
    else
    {
        Debug.Log("Capture image using camera failed with error. Error: " + error);
    }
});

For fetching the images with permission, you can use utility methods SelectImageFromGalleryWithUserPermision and CaptureImageFromCameraWithUserPermision.

Save image to gallery

You need to have read-write access for saving images to gallery. For requesting access you need to call RequestGalleryAccess with GalleryAccessmode.Read mode. Once you have the permission, you need to call SaveImageToGallery by passing the image texture.

Texture2D texture; // Set the texture before calling
MediaServices.SaveImageToGallery(texture, (result, error) =>
{
    if (error == null)
    {
        Debug.Log("Save image to gallery finished successfully.");
    }
    else
    {
        Debug.Log("Save image to gallery failed with error. Error: " + error);
    }
});

status
enabled the required features