xref: /MusicFree/src/native/mp3Util/index.ts (revision 5589cdf32b2bb0f641e5ac7bf1f6152cd6b9b70e)
1import {NativeModules} from 'react-native';
2
3export interface IBasicMeta {
4    album?: string;
5    artist?: string;
6    author?: string;
7    duration?: string;
8    title?: string;
9}
10
11export interface IWritableMeta extends IBasicMeta {
12    lyric?: string;
13    comment?: string;
14}
15
16interface IMp3Util {
17    getBasicMeta: (fileName: string) => Promise<IBasicMeta>;
18    getMediaMeta: (fileNames: string[]) => Promise<IBasicMeta[]>;
19    getMediaCoverImg: (mediaPath: string) => Promise<string>;
20    /** 读取内嵌歌词 */
21    getLyric: (mediaPath: string) => Promise<string>;
22    /** 写入meta信息 */
23    setMediaTag: (filePath: string, meta: IWritableMeta) => Promise<void>;
24    getMediaTag: (filePath: string) => Promise<IWritableMeta>;
25}
26
27const Mp3Util = NativeModules.Mp3Util;
28
29export default Mp3Util as IMp3Util;
30