diff --git a/android/src/main/java/com/imxiqi/rnliveaudiostream/RNLiveAudioStreamModule.java b/android/src/main/java/com/imxiqi/rnliveaudiostream/RNLiveAudioStreamModule.java index 20f454f..857e1c4 100644 --- a/android/src/main/java/com/imxiqi/rnliveaudiostream/RNLiveAudioStreamModule.java +++ b/android/src/main/java/com/imxiqi/rnliveaudiostream/RNLiveAudioStreamModule.java @@ -114,4 +114,14 @@ public void run() { public void stop(Promise promise) { isRecording = false; } + + @ReactMethod + public void addListener(String eventName) { + // Keep: Required for RN built in Event Emitter Calls. + } + + @ReactMethod + public void removeListeners(Integer count) { + // Keep: Required for RN built in Event Emitter Calls. + } } diff --git a/index.js b/index.js index c5968b2..40e499f 100644 --- a/index.js +++ b/index.js @@ -1,12 +1,12 @@ -import { NativeModules, NativeEventEmitter } from 'react-native'; +import { NativeEventEmitter, NativeModules } from 'react-native'; const { RNLiveAudioStream } = NativeModules; -const EventEmitter = new NativeEventEmitter(RNLiveAudioStream); +const emitter = new NativeEventEmitter(RNLiveAudioStream); -const AudioRecord = {}; - -AudioRecord.init = options => RNLiveAudioStream.init(options); -AudioRecord.start = () => RNLiveAudioStream.start(); -AudioRecord.stop = () => RNLiveAudioStream.stop(); +const AudioRecord = { + init: RNLiveAudioStream.init, + start: RNLiveAudioStream.start, + stop: RNLiveAudioStream.stop +}; const eventsMap = { data: 'data' @@ -14,11 +14,14 @@ const eventsMap = { AudioRecord.on = (event, callback) => { const nativeEvent = eventsMap[event]; + if (!nativeEvent) { throw new Error('Invalid event'); } - EventEmitter.removeAllListeners(nativeEvent); - return EventEmitter.addListener(nativeEvent, callback); + + emitter.removeAllListeners(nativeEvent); + + return emitter.addListener(nativeEvent, callback); }; export default AudioRecord;