@odion-cloud/capacitor-mediastore
Version:
A Capacitor plugin that provides comprehensive access to Android MediaStore API for media file access and metadata retrieval. This plugin is specifically designed to overcome the limitations of Capacitor's filesystem API, particularly for accessing SD car
778 lines • 19.2 kB
JSON
{
"api": {
"name": "CapacitorMediaStorePlugin",
"slug": "capacitormediastoreplugin",
"docs": "",
"tags": [],
"methods": [
{
"name": "getMedias",
"signature": "(options?: MediaQueryOptions | undefined) => Promise<MediaResponse>",
"parameters": [
{
"name": "options",
"docs": "",
"type": "MediaQueryOptions | undefined"
}
],
"returns": "Promise<MediaResponse>",
"tags": [],
"docs": "Get all media files from device storage",
"complexTypes": [
"MediaResponse",
"MediaQueryOptions"
],
"slug": "getmedias"
},
{
"name": "getMediasByType",
"signature": "(options: MediaTypeOptions) => Promise<MediaResponse>",
"parameters": [
{
"name": "options",
"docs": "",
"type": "MediaTypeOptions"
}
],
"returns": "Promise<MediaResponse>",
"tags": [],
"docs": "Get media files by specific type",
"complexTypes": [
"MediaResponse",
"MediaTypeOptions"
],
"slug": "getmediasbytype"
},
{
"name": "getAlbums",
"signature": "() => Promise<AlbumResponse>",
"parameters": [],
"returns": "Promise<AlbumResponse>",
"tags": [],
"docs": "Get all albums from device",
"complexTypes": [
"AlbumResponse"
],
"slug": "getalbums"
},
{
"name": "saveMedia",
"signature": "(options: SaveMediaOptions) => Promise<SaveMediaResponse>",
"parameters": [
{
"name": "options",
"docs": "",
"type": "SaveMediaOptions"
}
],
"returns": "Promise<SaveMediaResponse>",
"tags": [],
"docs": "Save media file to device storage",
"complexTypes": [
"SaveMediaResponse",
"SaveMediaOptions"
],
"slug": "savemedia"
},
{
"name": "getMediaMetadata",
"signature": "(options: MediaMetadataOptions) => Promise<MediaMetadataResponse>",
"parameters": [
{
"name": "options",
"docs": "",
"type": "MediaMetadataOptions"
}
],
"returns": "Promise<MediaMetadataResponse>",
"tags": [],
"docs": "Get detailed metadata for a specific media file",
"complexTypes": [
"MediaMetadataResponse",
"MediaMetadataOptions"
],
"slug": "getmediametadata"
},
{
"name": "checkPermissions",
"signature": "() => Promise<PermissionStatus>",
"parameters": [],
"returns": "Promise<PermissionStatus>",
"tags": [],
"docs": "Check and request necessary permissions",
"complexTypes": [
"PermissionStatus"
],
"slug": "checkpermissions"
},
{
"name": "requestPermissions",
"signature": "(options?: RequestPermissionsOptions | undefined) => Promise<PermissionStatus>",
"parameters": [
{
"name": "options",
"docs": "",
"type": "RequestPermissionsOptions | undefined"
}
],
"returns": "Promise<PermissionStatus>",
"tags": [],
"docs": "Request permissions for media access",
"complexTypes": [
"PermissionStatus",
"RequestPermissionsOptions"
],
"slug": "requestpermissions"
}
],
"properties": []
},
"interfaces": [
{
"name": "MediaResponse",
"slug": "mediaresponse",
"docs": "",
"tags": [],
"methods": [],
"properties": [
{
"name": "media",
"tags": [],
"docs": "Array of media files",
"complexTypes": [
"MediaFile"
],
"type": "MediaFile[]"
},
{
"name": "totalCount",
"tags": [],
"docs": "Total count (useful for pagination)",
"complexTypes": [],
"type": "number"
},
{
"name": "hasMore",
"tags": [],
"docs": "Whether there are more results",
"complexTypes": [],
"type": "boolean"
}
]
},
{
"name": "MediaFile",
"slug": "mediafile",
"docs": "",
"tags": [],
"methods": [],
"properties": [
{
"name": "id",
"tags": [],
"docs": "Unique identifier",
"complexTypes": [],
"type": "string"
},
{
"name": "uri",
"tags": [],
"docs": "File path/URI",
"complexTypes": [],
"type": "string"
},
{
"name": "displayName",
"tags": [],
"docs": "Display name",
"complexTypes": [],
"type": "string"
},
{
"name": "size",
"tags": [],
"docs": "File size in bytes",
"complexTypes": [],
"type": "number"
},
{
"name": "mimeType",
"tags": [],
"docs": "MIME type",
"complexTypes": [],
"type": "string"
},
{
"name": "dateAdded",
"tags": [],
"docs": "Date added (timestamp)",
"complexTypes": [],
"type": "number"
},
{
"name": "dateModified",
"tags": [],
"docs": "Date modified (timestamp)",
"complexTypes": [],
"type": "number"
},
{
"name": "mediaType",
"tags": [],
"docs": "Media type",
"complexTypes": [
"MediaType"
],
"type": "MediaType"
},
{
"name": "width",
"tags": [],
"docs": "Width (for images/videos)",
"complexTypes": [],
"type": "number | undefined"
},
{
"name": "height",
"tags": [],
"docs": "Height (for images/videos)",
"complexTypes": [],
"type": "number | undefined"
},
{
"name": "duration",
"tags": [],
"docs": "Duration in milliseconds (for audio/video)",
"complexTypes": [],
"type": "number | undefined"
},
{
"name": "title",
"tags": [],
"docs": "Title (for audio files)",
"complexTypes": [],
"type": "string | undefined"
},
{
"name": "artist",
"tags": [],
"docs": "Artist (for audio files)",
"complexTypes": [],
"type": "string | undefined"
},
{
"name": "album",
"tags": [],
"docs": "Album (for audio files)",
"complexTypes": [],
"type": "string | undefined"
},
{
"name": "albumArtist",
"tags": [],
"docs": "Album artist (for audio files)",
"complexTypes": [],
"type": "string | undefined"
},
{
"name": "composer",
"tags": [],
"docs": "Composer (for audio files)",
"complexTypes": [],
"type": "string | undefined"
},
{
"name": "genre",
"tags": [],
"docs": "Genre (for audio files)",
"complexTypes": [],
"type": "string | undefined"
},
{
"name": "track",
"tags": [],
"docs": "Track number (for audio files)",
"complexTypes": [],
"type": "number | undefined"
},
{
"name": "year",
"tags": [],
"docs": "Year (for audio files)",
"complexTypes": [],
"type": "number | undefined"
},
{
"name": "bitrate",
"tags": [],
"docs": "Bitrate (for audio files)",
"complexTypes": [],
"type": "number | undefined"
},
{
"name": "sampleRate",
"tags": [],
"docs": "Sample rate (for audio files)",
"complexTypes": [],
"type": "number | undefined"
},
{
"name": "channels",
"tags": [],
"docs": "Number of channels (for audio files)",
"complexTypes": [],
"type": "number | undefined"
},
{
"name": "albumArtUri",
"tags": [],
"docs": "Album art URI (for audio files)",
"complexTypes": [],
"type": "string | undefined"
},
{
"name": "isExternal",
"tags": [],
"docs": "Is on external storage",
"complexTypes": [],
"type": "boolean | undefined"
}
]
},
{
"name": "MediaQueryOptions",
"slug": "mediaqueryoptions",
"docs": "",
"tags": [],
"methods": [],
"properties": [
{
"name": "limit",
"tags": [],
"docs": "Limit the number of results",
"complexTypes": [],
"type": "number | undefined"
},
{
"name": "offset",
"tags": [],
"docs": "Offset for pagination",
"complexTypes": [],
"type": "number | undefined"
},
{
"name": "sortOrder",
"tags": [],
"docs": "Sort order (ASC or DESC)",
"complexTypes": [],
"type": "'ASC' | 'DESC' | undefined"
},
{
"name": "sortBy",
"tags": [],
"docs": "Sort by field",
"complexTypes": [],
"type": "'DATE_ADDED' | 'DATE_MODIFIED' | 'DISPLAY_NAME' | 'SIZE' | 'TITLE' | undefined"
},
{
"name": "albumName",
"tags": [],
"docs": "Filter by album name",
"complexTypes": [],
"type": "string | undefined"
},
{
"name": "artistName",
"tags": [],
"docs": "Filter by artist name",
"complexTypes": [],
"type": "string | undefined"
},
{
"name": "includeExternal",
"tags": [],
"docs": "Include external storage (SD card)",
"complexTypes": [],
"type": "boolean | undefined"
}
]
},
{
"name": "MediaTypeOptions",
"slug": "mediatypeoptions",
"docs": "",
"tags": [],
"methods": [],
"properties": [
{
"name": "mediaType",
"tags": [],
"docs": "Type of media to retrieve",
"complexTypes": [
"MediaType"
],
"type": "MediaType"
}
]
},
{
"name": "AlbumResponse",
"slug": "albumresponse",
"docs": "",
"tags": [],
"methods": [],
"properties": [
{
"name": "albums",
"tags": [],
"docs": "Array of albums",
"complexTypes": [
"Album"
],
"type": "Album[]"
},
{
"name": "totalCount",
"tags": [],
"docs": "Total count",
"complexTypes": [],
"type": "number"
}
]
},
{
"name": "Album",
"slug": "album",
"docs": "",
"tags": [],
"methods": [],
"properties": [
{
"name": "id",
"tags": [],
"docs": "Album ID",
"complexTypes": [],
"type": "string"
},
{
"name": "name",
"tags": [],
"docs": "Album name",
"complexTypes": [],
"type": "string"
},
{
"name": "trackCount",
"tags": [],
"docs": "Number of tracks",
"complexTypes": [],
"type": "number"
},
{
"name": "firstTrackId",
"tags": [],
"docs": "First track ID",
"complexTypes": [],
"type": "string | undefined"
},
{
"name": "albumArtUri",
"tags": [],
"docs": "Album art URI",
"complexTypes": [],
"type": "string | undefined"
},
{
"name": "artist",
"tags": [],
"docs": "Artist name",
"complexTypes": [],
"type": "string | undefined"
}
]
},
{
"name": "SaveMediaResponse",
"slug": "savemediaresponse",
"docs": "",
"tags": [],
"methods": [],
"properties": [
{
"name": "success",
"tags": [],
"docs": "Success status",
"complexTypes": [],
"type": "boolean"
},
{
"name": "uri",
"tags": [],
"docs": "URI of saved file",
"complexTypes": [],
"type": "string | undefined"
},
{
"name": "error",
"tags": [],
"docs": "Error message if failed",
"complexTypes": [],
"type": "string | undefined"
}
]
},
{
"name": "SaveMediaOptions",
"slug": "savemediaoptions",
"docs": "",
"tags": [],
"methods": [],
"properties": [
{
"name": "data",
"tags": [],
"docs": "Base64 encoded data or file URI",
"complexTypes": [],
"type": "string"
},
{
"name": "fileName",
"tags": [],
"docs": "File name",
"complexTypes": [],
"type": "string"
},
{
"name": "mediaType",
"tags": [],
"docs": "Media type",
"complexTypes": [
"MediaType"
],
"type": "MediaType"
},
{
"name": "albumName",
"tags": [],
"docs": "Album name (optional)",
"complexTypes": [],
"type": "string | undefined"
},
{
"name": "relativePath",
"tags": [],
"docs": "Relative path within the media type directory",
"complexTypes": [],
"type": "string | undefined"
}
]
},
{
"name": "MediaMetadataResponse",
"slug": "mediametadataresponse",
"docs": "",
"tags": [],
"methods": [],
"properties": [
{
"name": "media",
"tags": [],
"docs": "Media file with full metadata",
"complexTypes": [
"MediaFile"
],
"type": "MediaFile"
}
]
},
{
"name": "MediaMetadataOptions",
"slug": "mediametadataoptions",
"docs": "",
"tags": [],
"methods": [],
"properties": [
{
"name": "filePath",
"tags": [],
"docs": "File path or URI of the media file",
"complexTypes": [],
"type": "string"
}
]
},
{
"name": "PermissionStatus",
"slug": "permissionstatus",
"docs": "",
"tags": [],
"methods": [],
"properties": [
{
"name": "readExternalStorage",
"tags": [],
"docs": "Read external storage permission (Android 6-12)",
"complexTypes": [
"PermissionState"
],
"type": "PermissionState"
},
{
"name": "readMediaImages",
"tags": [],
"docs": "Read media images permission (Android 13+)",
"complexTypes": [
"PermissionState"
],
"type": "PermissionState"
},
{
"name": "readMediaAudio",
"tags": [],
"docs": "Read media audio permission (Android 13+)",
"complexTypes": [
"PermissionState"
],
"type": "PermissionState"
},
{
"name": "readMediaVideo",
"tags": [],
"docs": "Read media video permission (Android 13+)",
"complexTypes": [
"PermissionState"
],
"type": "PermissionState"
},
{
"name": "readMediaVisualUserSelected",
"tags": [],
"docs": "Read visual media user selected permission (Android 14+)",
"complexTypes": [
"PermissionState"
],
"type": "PermissionState"
},
{
"name": "writeExternalStorage",
"tags": [],
"docs": "Write external storage permission (Android 6-9)",
"complexTypes": [
"PermissionState"
],
"type": "PermissionState"
}
]
},
{
"name": "RequestPermissionsOptions",
"slug": "requestpermissionsoptions",
"docs": "",
"tags": [],
"methods": [],
"properties": [
{
"name": "types",
"tags": [],
"docs": "Specific permission types to request. If not provided, all permissions will be requested.\nAvailable types: 'images', 'audio', 'video'",
"complexTypes": [],
"type": "string[] | undefined"
}
]
}
],
"enums": [
{
"name": "MediaType",
"slug": "mediatype",
"members": [
{
"name": "IMAGE",
"value": "'image'",
"tags": [],
"docs": ""
},
{
"name": "AUDIO",
"value": "'audio'",
"tags": [],
"docs": ""
},
{
"name": "VIDEO",
"value": "'video'",
"tags": [],
"docs": ""
},
{
"name": "DOCUMENT",
"value": "'document'",
"tags": [],
"docs": ""
},
{
"name": "ALL",
"value": "'all'",
"tags": [],
"docs": ""
}
]
},
{
"name": "PermissionState",
"slug": "permissionstate",
"members": [
{
"name": "GRANTED",
"value": "'granted'",
"tags": [],
"docs": ""
},
{
"name": "DENIED",
"value": "'denied'",
"tags": [],
"docs": ""
},
{
"name": "PROMPT",
"value": "'prompt'",
"tags": [],
"docs": ""
},
{
"name": "PROMPT_WITH_RATIONALE",
"value": "'prompt-with-rationale'",
"tags": [],
"docs": ""
}
]
}
],
"typeAliases": [
{
"name": "PermissionState",
"slug": "permissionstate",
"docs": "",
"types": [
{
"text": "'prompt'",
"complexTypes": []
},
{
"text": "'prompt-with-rationale'",
"complexTypes": []
},
{
"text": "'granted'",
"complexTypes": []
},
{
"text": "'denied'",
"complexTypes": []
}
]
}
],
"pluginConfigs": []
}