UNPKG

react-native-audio-recorder-player

Version:
263 lines (241 loc) 6.73 kB
/** * Flowtype definitions for index * Generated by Flowgen from a Typescript Definition * Flowgen v1.21.0 */ declare export var AudioSourceAndroidType: {| +DEFAULT: 0, // 0 +MIC: 1, // 1 +VOICE_UPLINK: 2, // 2 +VOICE_DOWNLINK: 3, // 3 +VOICE_CALL: 4, // 4 +CAMCORDER: 5, // 5 +VOICE_RECOGNITION: 6, // 6 +VOICE_COMMUNICATION: 7, // 7 +REMOTE_SUBMIX: 8, // 8 +UNPROCESSED: 9, // 9 +RADIO_TUNER: 1998, // 1998 +HOTWORD: 1999, // 1999 |}; declare export var OutputFormatAndroidType: {| +DEFAULT: 0, // 0 +THREE_GPP: 1, // 1 +MPEG_4: 2, // 2 +AMR_NB: 3, // 3 +AMR_WB: 4, // 4 +AAC_ADIF: 5, // 5 +AAC_ADTS: 6, // 6 +OUTPUT_FORMAT_RTP_AVP: 7, // 7 +MPEG_2_TS: 8, // 8 +WEBM: 9, // 9 +UNUSED: 10, // 10 +OGG: 11, // 11 |}; declare export var AudioEncoderAndroidType: {| +DEFAULT: 0, // 0 +AMR_NB: 1, // 1 +AMR_WB: 2, // 2 +AAC: 3, // 3 +HE_AAC: 4, // 4 +AAC_ELD: 5, // 5 +VORBIS: 6, // 6 +OPUS: 7, // 7 |}; declare export var AVEncodingOption: {| +lpcm: "lpcm", // "lpcm" +ima4: "ima4", // "ima4" +aac: "aac", // "aac" +MAC3: "MAC3", // "MAC3" +MAC6: "MAC6", // "MAC6" +ulaw: "ulaw", // "ulaw" +alaw: "alaw", // "alaw" +mp1: "mp1", // "mp1" +mp2: "mp2", // "mp2" +mp4: "mp4", // "mp4" +alac: "alac", // "alac" +amr: "amr", // "amr" +flac: "flac", // "flac" +opus: "opus", // "opus" +wav: "wav", // "wav" |}; declare type AVEncodingType = | typeof AVEncodingOption.lpcm | typeof AVEncodingOption.ima4 | typeof AVEncodingOption.aac | typeof AVEncodingOption.MAC3 | typeof AVEncodingOption.MAC6 | typeof AVEncodingOption.ulaw | typeof AVEncodingOption.alaw | typeof AVEncodingOption.mp1 | typeof AVEncodingOption.mp2 | typeof AVEncodingOption.mp4 | typeof AVEncodingOption.alac | typeof AVEncodingOption.amr | typeof AVEncodingOption.flac | typeof AVEncodingOption.opus | typeof AVEncodingOption.wav; declare export var AVModeIOSOption: {| +gamechat: "gamechat", // "gamechat" +measurement: "measurement", // "measurement" +movieplayback: "movieplayback", // "movieplayback" +spokenaudio: "spokenaudio", // "spokenaudio" +videochat: "videochat", // "videochat" +videorecording: "videorecording", // "videorecording" +voicechat: "voicechat", // "voicechat" +voiceprompt: "voiceprompt", // "voiceprompt" |}; export type AVModeIOSType = | typeof AVModeIOSOption.gamechat | typeof AVModeIOSOption.measurement | typeof AVModeIOSOption.movieplayback | typeof AVModeIOSOption.spokenaudio | typeof AVModeIOSOption.videochat | typeof AVModeIOSOption.videorecording | typeof AVModeIOSOption.voicechat | typeof AVModeIOSOption.voiceprompt; declare export var AVEncoderAudioQualityIOSType: {| +min: 0, // 0 +low: 32, // 32 +medium: 64, // 64 +high: 96, // 96 +max: 127, // 127 |}; declare export var AVLinearPCMBitDepthKeyIOSType: {| +bit8: 8, // 8 +bit16: 16, // 16 +bit24: 24, // 24 +bit32: 32, // 32 |}; export interface AudioSet { AVSampleRateKeyIOS?: number; AVFormatIDKeyIOS?: AVEncodingType; AVModeIOS?: AVModeIOSType; AVNumberOfChannelsKeyIOS?: number; AVEncoderAudioQualityKeyIOS?: $Values<typeof AVEncoderAudioQualityIOSType>; AudioSourceAndroid?: $Values<typeof AudioSourceAndroidType>; AVLinearPCMBitDepthKeyIOS?: $Values<typeof AVLinearPCMBitDepthKeyIOSType>; AVLinearPCMIsBigEndianKeyIOS?: boolean; AVLinearPCMIsFloatKeyIOS?: boolean; AVLinearPCMIsNonInterleavedIOS?: boolean; AVEncoderBitRateKeyIOS?: number; OutputFormatAndroid?: $Values<typeof OutputFormatAndroidType>; AudioEncoderAndroid?: $Values<typeof AudioEncoderAndroidType>; AudioEncodingBitRateAndroid?: number; AudioSamplingRateAndroid?: number; AudioChannelsAndroid?: number; } export type RecordBackType = { isRecording?: boolean, currentPosition: number, currentMetering?: number, ... }; export type PlayBackType = { isMuted?: boolean, currentPosition: number, duration: number, isFinished: boolean, ... }; declare class AudioRecorderPlayer { mmss: (secs: number) => string; mmssss: (milisecs: number) => string; /** * Set listerner from native module for recorder. * @returns {callBack} ((e: RecordBackType): void)} */ addRecordBackListener: ( callback: (recordingMeta: RecordBackType) => void ) => void; /** * Remove listener for recorder. * @returns {void} */ removeRecordBackListener: () => void; /** * Set listener from native module for player. * @returns {callBack} ((e: PlayBackType): void)} */ addPlayBackListener: (callback: (playbackMeta: PlayBackType) => void) => void; /** * remove listener for player. * @returns {void} */ removePlayBackListener: () => void; /** * start recording with param. * @param {string} uri audio uri. * @returns {Promise<string>} */ startRecorder: ( uri?: string, audioSets?: AudioSet, meteringEnabled?: boolean ) => Promise<string>; /** * Pause recording. * @returns {Promise<string>} */ pauseRecorder: () => Promise<string>; /** * Resume recording. * @returns {Promise<string>} */ resumeRecorder: () => Promise<string>; /** * stop recording. * @returns {Promise<string>} */ stopRecorder: () => Promise<string>; /** * Resume playing. * @returns {Promise<string>} */ resumePlayer: () => Promise<string>; playerCallback: (event: PlayBackType) => void; /** * Start playing with param. * @param {string} uri audio uri. * @param {{[key: string]: string, ...}} httpHeaders Set of http headers. * @returns {Promise<string>} */ startPlayer: ( uri?: string, httpHeaders?: { [key: string]: string, ... } ) => Promise<string>; /** * Stop playing. * @returns {Promise<string>} */ stopPlayer: () => Promise<string>; /** * Pause playing. * @returns {Promise<string>} */ pausePlayer: () => Promise<string>; /** * Seek to. * @param {number} time position seek to in millisecond. * @returns {Promise<string>} */ seekToPlayer: (time: number) => Promise<string>; /** * Set volume. * @param {number} setVolume set volume. * @returns {Promise<string>} */ setVolume: (volume: number) => Promise<string>; /** * Set playback speed. * @param {number} setPlaybackSpeed set playback speed. * @returns {Promise<string>} */ setPlaybackSpeed: (playbackSpeed: number) => Promise<string>; /** * Set subscription duration. Default is 0.5. * @param {number} sec subscription callback duration in seconds. * @returns {Promise<string>} */ setSubscriptionDuration: (sec: number) => Promise<string>; } declare export default typeof AudioRecorderPlayer;