0.0.9 • Published 1 year ago

axiallon-capacitor-media-picker v0.0.9

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

media-picker

Allows picking of all media types from a device This is a fork of https://github.com/ionic-team/capacitor-plugins/tree/main/camera with many breaking changes and additional features

Install

npm install media-picker
npx cap sync

API

getPhoto(...)

getPhoto(options: MediaOptions) => Promise<Media>

Prompt the user to pick a photo from an album, or take a new photo with the camera.

ParamType
optionsMediaOptions

Returns: Promise<Media>

Since: 1.0.0


pickMedia(...)

pickMedia(options: PickMediaOptions) => Promise<SelectedMedia>

Allows the user to pick multiple pictures from the photo gallery. On iOS 13 and older it only allows to pick one picture.

ParamType
optionsPickMediaOptions

Returns: Promise<SelectedMedia>

Since: 1.2.0


pickLimitedLibraryPhotos()

pickLimitedLibraryPhotos() => Promise<SelectedMedia>

iOS 14+ Only: Allows the user to update their limited photo library selection. On iOS 15+ returns all the limited photos after the picker dismissal. On iOS 14 or if the user gave full access to the photos it returns an empty array.

Returns: Promise<SelectedMedia>

Since: 4.1.0


getLimitedLibraryPhotos()

getLimitedLibraryPhotos() => Promise<SelectedMedia>

iOS 14+ Only: Return an array of photos selected from the limited photo library.

Returns: Promise<SelectedMedia>

Since: 4.1.0


checkPermissions()

checkPermissions() => Promise<PermissionStatus>

Check camera and photo album permissions

Returns: Promise<PermissionStatus>

Since: 1.0.0


requestPermissions(...)

requestPermissions(permissions?: MediaPickerPluginPermissions | undefined) => Promise<PermissionStatus>

Request camera and photo album permissions

ParamType
permissionsMediaPickerPluginPermissions

Returns: Promise<PermissionStatus>

Since: 1.0.0


compressVideo(...)

compressVideo(options: CompressVideoRequest) => Promise<CompressVideoResult>
ParamType
optionsCompressVideoRequest

Returns: Promise<CompressVideoResult>


uploadFilePart(...)

uploadFilePart(options: UploadFilePartData) => Promise<{ base64Data: string; }>
ParamType
optionsUploadFilePartData

Returns: Promise<{ base64Data: string; }>


Interfaces

Media

PropTypeDescriptionSince
pathstringIf using CameraResultType.Uri, the path will contain a full, platform-specific file URL that can be read later using the Filesystem API.1.0.0
webPathstringwebPath returns a path that can be used to set the src attribute of an image for efficient loading and rendering.1.0.0
contentTypestringThe contentType of the media1.0.0
thumbnailPathstringIf using CameraResultType.Uri, the path will contain a full, platform-specific file URL that can be read later using the Filesystem API.1.0.0
thumbnailWebPathstringwebPath returns a path that can be used to set the src attribute of an image for efficient loading and rendering.1.0.0
thumbnailContentTypestringThe contentType of the media's thumbnail1.0.0
savedbooleanWhether if the image was saved to the gallery or not. On Android and iOS, saving to the gallery can fail if the user didn't grant the required permissions. On Web there is no gallery, so always returns false.1.1.0

MediaOptions

PropTypeDescriptionDefaultSince
qualitynumberThe quality of image to return as JPEG, from 0-1001.0.0
allowEditingbooleanWhether to allow the user to crop or make small edits (platform specific). On iOS 14+ it's only supported for CameraSource.Camera, but not for CameraSource.Photos.1.0.0
saveToGallerybooleanWhether to save the photo to the gallery. If the photo was picked from the gallery, it will only be saved if edited.: false1.0.0
widthnumberThe desired maximum width of the saved image. The aspect ratio is respected.1.0.0
heightnumberThe desired maximum height of the saved image. The aspect ratio is respected.1.0.0
maxVideoDimensionnumberThe maximum height/width of an image
maxVideoThumbnailDimensionnumberThe maximum height/width of an image
maxImageDimensionnumberThe maximum height/width of an image
maxThumbnailDimensionnumberThe maximum height/width of a media asset's thumbnail
correctOrientationbooleanWhether to automatically rotate the image "up" to correct for orientation in portrait mode: true1.0.0
sourceCameraSourceThe source to get the photo from. By default this prompts the user to select either the photo album or take a photo.: CameraSource.Prompt1.0.0
mediaType'image' | 'video' | 'any'The type of media to the selected. If set to "any" or undefined images and videos can be selected: 'any'
multiplebooleanAllows selection of multiple media items.
directionCameraDirectioniOS and Web only: The camera direction.: CameraDirection.Rear1.0.0
presentationStyle'fullscreen' | 'popover'iOS only: The presentation style of the Camera.: 'fullscreen'1.0.0
webUseInputbooleanWeb only: Whether to use the PWA Element experience or file input. The default is to use PWA Elements if installed and fall back to file input. To always use file input, set this to true. Learn more about PWA Elements: https://capacitorjs.com/docs/web/pwa-elements1.0.0
promptLabelHeaderstringText value to use when displaying the prompt.: 'Photo'1.0.0
promptLabelCancelstringText value to use when displaying the prompt. iOS only: The label of the 'cancel' button.: 'Cancel'1.0.0
promptLabelPhotostringText value to use when displaying the prompt. The label of the button to select a saved image.: 'From Photos'1.0.0
promptLabelPicturestringText value to use when displaying the prompt. The label of the button to open the camera.: 'Take Picture'1.0.0

SelectedMedia

PropType
mediaMedia[]

PickMediaOptions

PropTypeDescriptionDefaultSince
qualitynumberThe quality of image to return as JPEG, from 0-1001.2.0
widthnumberThe desired maximum width of the saved image. The aspect ratio is respected.1.2.0
heightnumberThe desired maximum height of the saved image. The aspect ratio is respected.1.2.0
correctOrientationbooleanWhether to automatically rotate the image "up" to correct for orientation in portrait mode: true1.2.0
presentationStyle'fullscreen' | 'popover'iOS only: The presentation style of the Camera.: 'fullscreen'1.2.0
limitnumberiOS only: Maximum number of pictures the user will be able to choose.0 (unlimited)1.2.0
maxVideoDimensionnumberThe maximum height/width of an image
maxVideoThumbnailDimensionnumberThe maximum height/width of an image
maxImageDimensionnumberThe maximum height/width of an image
maxThumbnailDimensionnumberThe maximum height/width of a media asset's thumbnail
mediaType'image' | 'video' | 'any'The type of media to the selected. If set to "any" or undefined images and videos can be selected: 'any'
multiplebooleanAllows selection of multiple media items.

PermissionStatus

PropType
cameraCameraPermissionState
photosCameraPermissionState

MediaPickerPluginPermissions

PropType
permissionsCameraPermissionType[]

CompressVideoResult

PropType
outputPathstring
outputWebPathstring
sourceVideoSizestring
outputVideoSizestring
outputContentTypestring

CompressVideoRequest

PropType
urlstring
maxDimensionnumber

UploadFilePartData

PropType
urlstring
partnumber
partSizenumber
contentTypestring
partUrlstring

Type Aliases

CameraPermissionState

PermissionState | 'limited'

PermissionState

'prompt' | 'prompt-with-rationale' | 'granted' | 'denied'

CameraPermissionType

'camera' | 'photos'

Enums

CameraSource

MembersValueDescription
Prompt'PROMPT'Prompts the user to select either the photo album or take a photo.
Camera'CAMERA'Take a new photo using the camera.
Photos'PHOTOS'Pick an existing photo from the gallery or photo album.

CameraDirection

MembersValue
Rear'REAR'
Front'FRONT'
0.0.9

1 year ago

0.0.8

1 year ago

0.0.7

1 year ago

0.0.6

1 year ago

0.0.5

1 year ago

0.0.4

1 year ago

0.0.3

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago