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