react-native-compressor 1.8.5 → 1.8.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -4
- package/android/build.gradle +3 -1
- package/android/src/main/java/com/reactnativecompressor/Audio/AudioCompressor.kt +202 -496
- package/android/src/main/java/com/reactnativecompressor/Audio/AudioExtractor.kt +112 -0
- package/android/src/main/java/com/reactnativecompressor/Audio/AudioHelper.kt +23 -0
- package/android/src/main/java/com/reactnativecompressor/Audio/AudioMain.kt +5 -13
- package/android/src/main/java/com/reactnativecompressor/Utils/RealPathUtil.kt +74 -8
- package/android/src/main/java/com/reactnativecompressor/Utils/Utils.kt +5 -0
- package/lib/commonjs/Audio/index.js +3 -42
- package/lib/commonjs/Audio/index.js.map +1 -1
- package/lib/commonjs/utils/index.js +5 -44
- package/lib/commonjs/utils/index.js.map +1 -1
- package/lib/module/Audio/index.js +4 -43
- package/lib/module/Audio/index.js.map +1 -1
- package/lib/module/utils/index.js +5 -39
- package/lib/module/utils/index.js.map +1 -1
- package/lib/typescript/Audio/index.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +1 -1
- package/lib/typescript/utils/index.d.ts +1 -6
- package/lib/typescript/utils/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/Audio/index.tsx +5 -56
- package/src/utils/index.tsx +4 -54
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Compressor","
|
|
1
|
+
{"version":3,"names":["Compressor","INCORRECT_INPUT_PATH","DEFAULT_COMPRESS_AUDIO_OPTIONS","quality","generateFilePath","extension","Promise","resolve","reject","then","result","catch","error","getRealPath","path","type","arguments","length","undefined","getVideoMetaData","createVideoThumbnail","fileUrl","options","clearCache","cacheDir","isValidUrl","url","test","getFullFilename","_path","includes","substring","array","split","isFileNameError","filename","getFilename","fullFilename","slice","join","isRemoteMedia","_path$split","getDetails","mediaFullPath","extesnion","Error","mediaInfo","JSON","parse","mediaInformation","bitrate","getMediaProperties","bit_rate","size","Number","format","e","getFileSize","filePath","uuidv4","replace","c","r","parseFloat","Math","random","toString","Date","getTime","v"],"sourceRoot":"../../../src","sources":["utils/index.tsx"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Audio/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Audio/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAG1C,QAAA,MAAM,KAAK,EAAE,SAUZ,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
|
@@ -14,7 +14,7 @@ declare const _default: {
|
|
|
14
14
|
getDetails: (mediaFullPath: string, extesnion?: "mp3" | "mp4") => Promise<any>;
|
|
15
15
|
uuidv4: () => string;
|
|
16
16
|
generateFilePath: any;
|
|
17
|
-
getRealPath: (path: string, type: "video" | "
|
|
17
|
+
getRealPath: (path: string, type: "video" | "image") => Promise<string>;
|
|
18
18
|
getVideoMetaData: (filePath: string) => Promise<string>;
|
|
19
19
|
getFileSize: (filePath: string) => Promise<string>;
|
|
20
20
|
backgroundUpload: (url: string, fileUrl: string, options: import("./utils").FileSystemUploadOptions, onProgress?: ((writtem: number, total: number) => void) | undefined) => Promise<any>;
|
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
export declare const AUDIO_BITRATE: number[];
|
|
2
1
|
type qualityType = 'low' | 'medium' | 'high';
|
|
3
2
|
type audioCompresssionType = {
|
|
4
|
-
bitrate?: number;
|
|
5
3
|
quality: qualityType;
|
|
6
|
-
outputFilePath?: string | undefined | null;
|
|
7
4
|
};
|
|
8
5
|
export type defaultResultType = {
|
|
9
|
-
outputFilePath: string | undefined | null;
|
|
10
6
|
isCorrect: boolean;
|
|
11
7
|
message: string;
|
|
12
8
|
};
|
|
@@ -27,14 +23,13 @@ type createVideoThumbnailType = (fileUrl: string, options?: {
|
|
|
27
23
|
}>;
|
|
28
24
|
type clearCacheType = (cacheDir?: string) => Promise<string>;
|
|
29
25
|
type getVideoMetaDataType = (filePath: string) => Promise<string>;
|
|
30
|
-
type getRealPathType = (path: string, type: 'video' | '
|
|
26
|
+
type getRealPathType = (path: string, type: 'video' | 'image') => Promise<string>;
|
|
31
27
|
export declare const generateFilePath: any;
|
|
32
28
|
export declare const getRealPath: getRealPathType;
|
|
33
29
|
export declare const getVideoMetaData: getVideoMetaDataType;
|
|
34
30
|
export declare const createVideoThumbnail: createVideoThumbnailType;
|
|
35
31
|
export declare const clearCache: clearCacheType;
|
|
36
32
|
export declare const getDetails: (mediaFullPath: string, extesnion?: 'mp3' | 'mp4') => Promise<any | null>;
|
|
37
|
-
export declare const checkUrlAndOptions: (url: string, options: audioCompresssionType) => Promise<defaultResultType>;
|
|
38
33
|
export declare const getFileSize: (filePath: string) => Promise<string>;
|
|
39
34
|
export declare const uuidv4: () => string;
|
|
40
35
|
export * from './Downloader';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.tsx"],"names":[],"mappings":"AAIA,KAAK,WAAW,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE7C,KAAK,qBAAqB,GAAG;IAE3B,OAAO,EAAE,WAAW,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,8BAA8B,EAAE,qBAG5C,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC3E,CAAC;AAEF,KAAK,wBAAwB,GAAG,CAC9B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;IACR,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CACrC,KACE,OAAO,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,CAAC;AAEH,KAAK,cAAc,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAC7D,KAAK,oBAAoB,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAClE,KAAK,eAAe,GAAG,CACrB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,GAAG,OAAO,KACpB,OAAO,CAAC,MAAM,CAAC,CAAC;AAErB,eAAO,MAAM,gBAAgB,EAAE,GAM9B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,eAEzB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,oBAE9B,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,wBAKlC,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,cAExB,CAAC;AA2CF,eAAO,MAAM,UAAU,kBACN,MAAM,cACV,KAAK,GAAG,KAAK,KACvB,QAAQ,GAAG,GAAG,IAAI,CA6BpB,CAAC;AAEF,eAAO,MAAM,WAAW,aAAoB,MAAM,KAAG,QAAQ,MAAM,CAElE,CAAC;AAEF,eAAO,MAAM,MAAM,cAclB,CAAC;AACF,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|
package/package.json
CHANGED
package/src/Audio/index.tsx
CHANGED
|
@@ -1,66 +1,15 @@
|
|
|
1
1
|
import { Compressor } from '../Main';
|
|
2
2
|
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
DEFAULT_COMPRESS_AUDIO_OPTIONS,
|
|
6
|
-
checkUrlAndOptions,
|
|
7
|
-
} from '../utils';
|
|
8
|
-
import type { AudioType, defaultResultType } from '../utils';
|
|
3
|
+
import { DEFAULT_COMPRESS_AUDIO_OPTIONS } from '../utils';
|
|
4
|
+
import type { AudioType } from '../utils';
|
|
9
5
|
const NativeAudio = Compressor;
|
|
10
6
|
|
|
11
7
|
const Audio: AudioType = {
|
|
12
8
|
compress: async (url, options = DEFAULT_COMPRESS_AUDIO_OPTIONS) => {
|
|
13
9
|
try {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
throw checkUrlAndOptionsResult.message;
|
|
18
|
-
} else {
|
|
19
|
-
// Get resulting output file path
|
|
20
|
-
|
|
21
|
-
// Get media details
|
|
22
|
-
// const mediaDetails: any = await getDetails(url).catch(() => null);
|
|
23
|
-
const mediaDetails: any = {
|
|
24
|
-
bitrate: 0,
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
// Initialize bitrate
|
|
28
|
-
let bitrate: any = DEFAULT_COMPRESS_AUDIO_OPTIONS.bitrate;
|
|
29
|
-
|
|
30
|
-
if (mediaDetails && mediaDetails.bitrate) {
|
|
31
|
-
// Check and return the appropriate bitrate according to quality expected
|
|
32
|
-
for (let i = 0; i < AUDIO_BITRATE.length; i++) {
|
|
33
|
-
// Check a particular bitrate to return its nearest lower according to quality
|
|
34
|
-
//@ts-ignore
|
|
35
|
-
if (mediaDetails.bitrate > AUDIO_BITRATE[i]) {
|
|
36
|
-
if (i + 2 < AUDIO_BITRATE.length) {
|
|
37
|
-
if (options.quality === 'low') bitrate = AUDIO_BITRATE[i + 2];
|
|
38
|
-
else if (options.quality === 'medium')
|
|
39
|
-
bitrate = AUDIO_BITRATE[i + 1];
|
|
40
|
-
else bitrate = AUDIO_BITRATE[i];
|
|
41
|
-
} else if (i + 1 < AUDIO_BITRATE.length) {
|
|
42
|
-
if (options.quality === 'low') bitrate = AUDIO_BITRATE[i + 1];
|
|
43
|
-
else bitrate = AUDIO_BITRATE[i];
|
|
44
|
-
} else bitrate = AUDIO_BITRATE[i];
|
|
45
|
-
break;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
// Check if the matching bitrate is the last in the array
|
|
49
|
-
if (
|
|
50
|
-
//@ts-ignore
|
|
51
|
-
mediaDetails.bitrate <= AUDIO_BITRATE[AUDIO_BITRATE.length - 1]
|
|
52
|
-
) {
|
|
53
|
-
bitrate = AUDIO_BITRATE[AUDIO_BITRATE.length - 1];
|
|
54
|
-
break;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
return NativeAudio.compress_audio(url, {
|
|
60
|
-
bitrate,
|
|
61
|
-
quality: options.quality,
|
|
62
|
-
});
|
|
63
|
-
}
|
|
10
|
+
return NativeAudio.compress_audio(url, {
|
|
11
|
+
quality: options.quality,
|
|
12
|
+
});
|
|
64
13
|
} catch (error: any) {
|
|
65
14
|
throw error.message;
|
|
66
15
|
}
|
package/src/utils/index.tsx
CHANGED
|
@@ -1,29 +1,22 @@
|
|
|
1
1
|
/* eslint-disable no-bitwise */
|
|
2
2
|
import { Compressor } from '../Main';
|
|
3
3
|
|
|
4
|
-
export const AUDIO_BITRATE = [256, 192, 160, 128, 96, 64, 32];
|
|
4
|
+
// export const AUDIO_BITRATE = [256, 192, 160, 128, 96, 64, 32];
|
|
5
5
|
type qualityType = 'low' | 'medium' | 'high';
|
|
6
6
|
const INCORRECT_INPUT_PATH = 'Incorrect input path. Please provide a valid one';
|
|
7
|
-
const INCORRECT_OUTPUT_PATH =
|
|
8
|
-
'Incorrect output path. Please provide a valid one';
|
|
9
|
-
const ERROR_OCCUR_WHILE_GENERATING_OUTPUT_FILE =
|
|
10
|
-
'An error occur while generating output file';
|
|
11
7
|
type audioCompresssionType = {
|
|
12
|
-
bitrate?: number;
|
|
8
|
+
// bitrate?: number;
|
|
13
9
|
quality: qualityType;
|
|
14
|
-
outputFilePath?: string | undefined | null;
|
|
15
10
|
};
|
|
16
11
|
|
|
17
12
|
export type defaultResultType = {
|
|
18
|
-
outputFilePath: string | undefined | null;
|
|
19
13
|
isCorrect: boolean;
|
|
20
14
|
message: string;
|
|
21
15
|
};
|
|
22
16
|
|
|
23
17
|
export const DEFAULT_COMPRESS_AUDIO_OPTIONS: audioCompresssionType = {
|
|
24
|
-
bitrate: 96,
|
|
18
|
+
// bitrate: 96,
|
|
25
19
|
quality: 'medium',
|
|
26
|
-
outputFilePath: '',
|
|
27
20
|
};
|
|
28
21
|
|
|
29
22
|
export type AudioType = {
|
|
@@ -47,7 +40,7 @@ type clearCacheType = (cacheDir?: string) => Promise<string>;
|
|
|
47
40
|
type getVideoMetaDataType = (filePath: string) => Promise<string>;
|
|
48
41
|
type getRealPathType = (
|
|
49
42
|
path: string,
|
|
50
|
-
type: 'video' | '
|
|
43
|
+
type: 'video' | 'image'
|
|
51
44
|
) => Promise<string>;
|
|
52
45
|
|
|
53
46
|
export const generateFilePath: any = (extension: string) => {
|
|
@@ -152,49 +145,6 @@ export const getDetails = (
|
|
|
152
145
|
});
|
|
153
146
|
};
|
|
154
147
|
|
|
155
|
-
export const checkUrlAndOptions = async (
|
|
156
|
-
url: string,
|
|
157
|
-
options: audioCompresssionType
|
|
158
|
-
): Promise<defaultResultType> => {
|
|
159
|
-
if (!url) {
|
|
160
|
-
throw new Error(
|
|
161
|
-
'Compression url is empty, please provide a url for compression.'
|
|
162
|
-
);
|
|
163
|
-
}
|
|
164
|
-
const defaultResult: defaultResultType = {
|
|
165
|
-
outputFilePath: '',
|
|
166
|
-
isCorrect: true,
|
|
167
|
-
message: '',
|
|
168
|
-
};
|
|
169
|
-
|
|
170
|
-
// Check if output file is correct
|
|
171
|
-
let outputFilePath: string | undefined | null;
|
|
172
|
-
try {
|
|
173
|
-
// use default output file
|
|
174
|
-
// or use new file from cache folder
|
|
175
|
-
if (options.outputFilePath) {
|
|
176
|
-
outputFilePath = options.outputFilePath;
|
|
177
|
-
defaultResult.outputFilePath = outputFilePath;
|
|
178
|
-
} else {
|
|
179
|
-
outputFilePath = await generateFilePath('mp3');
|
|
180
|
-
defaultResult.outputFilePath = outputFilePath;
|
|
181
|
-
}
|
|
182
|
-
if (outputFilePath === undefined || outputFilePath === null) {
|
|
183
|
-
defaultResult.isCorrect = false;
|
|
184
|
-
defaultResult.message = options.outputFilePath
|
|
185
|
-
? INCORRECT_OUTPUT_PATH
|
|
186
|
-
: ERROR_OCCUR_WHILE_GENERATING_OUTPUT_FILE;
|
|
187
|
-
}
|
|
188
|
-
} catch (e) {
|
|
189
|
-
defaultResult.isCorrect = false;
|
|
190
|
-
defaultResult.message = options.outputFilePath
|
|
191
|
-
? INCORRECT_OUTPUT_PATH
|
|
192
|
-
: ERROR_OCCUR_WHILE_GENERATING_OUTPUT_FILE;
|
|
193
|
-
} finally {
|
|
194
|
-
return defaultResult;
|
|
195
|
-
}
|
|
196
|
-
};
|
|
197
|
-
|
|
198
148
|
export const getFileSize = async (filePath: string): Promise<string> => {
|
|
199
149
|
return Compressor.getFileSize(filePath);
|
|
200
150
|
};
|