react-native-mediacompress-kecilin
v0.1.6
Published
Media Compress Kecilin
Readme
react-native-mediacompress-kecilin
Media Compress Kecilin
Installation
Step 1
npm install react-native-mediacompress-kecilinStep 2
Add token to gradle.properties
authToken = AUTHENTICATION_TOKENStep 3
Then use authToken as username in your build.gradle (root project)
allprojects {
repositories {
...
maven {
url "https://jitpack.io"
credentials { username authToken }
}
}
}Step 4
Add authKecilin to manifest android
<application>
<meta-data
android:name="id.kecilin.mediacompress.AUTH_KECILIN"
android:value="AUTH_KECILIN" />
<activity>
...
<activity/>
</application>Usage
Image
Image Compress
import {
compressImage,
type CompressOption,
type ResultImageCompress,
} from 'react-native-mediacompress-kecilin';
const inputImage = "path/image/file.jpg";
const compressOption : CompressOption = {
quality: 'high',
resolution: 'res100',
};
const inputType : InputType = 'base64';
const compressedImage : ResultImageCompress =
await compressImage(inputImage, inputType,compressOption);API
Compress Image
compressImage(inputImage : string, inputType :InputType, option : CompressOption) : Promise<ResultImageCompress>Compress image input can be uri path temp or base64 string make sure set input type first
Compress Option
export interface CompressOption {
resolution : Resolution | 'res100';
quality: Quality
}Resolution aims to set the resolution whether it is the same as the input image or not, meaning if it is res75 then the resolution drops by 25% from the previous original resolution, the ratio remains unchanged (default: res100)
'res100','res75','res65','res55','res50' //(default : res100)Quality aims to set the compression capability, the higher the compression results will be more optimal (default: medium)
'low','medium', 'high' //(default : medium)Input Type
Can be either uri path temp or base64 image
'uri' , 'base64'Video
Video Compress
import {
cancelCompressVideo,
compressVideo,
type CompressVideoOption,
type ResultVideoCompress,
} from 'react-native-mediacompress-kecilin';
let path = resultPickVideo.assets[0]?.uri;
let compressOption: CompressVideoOption = {
quality: 'medium',
};
let resultVideoCompress: ResultVideoCompress =
await compressVideo(
path,
compressOption,
(progressInPercent) => {
}
); API
Compress Video
compressVideo(path: string, option: CompressVideoOption,onProgress: (progressInPercent: number) => void) : Promise<ResultVideoCompress>Compress video input use uri and receive on progress callback when compressing
Compress Video Option
export interface CompressVideoOption {
quality: Quality
}Quality aims to set the compression capability, the higher the compression results will be more optimal (default: medium)
'low','medium', 'high' //(default : medium)