From e0623bf2927ef8871adcbe940087975e13022773 Mon Sep 17 00:00:00 2001 From: Oscar Muya <106892939+oscarmuya@users.noreply.github.com> Date: Mon, 3 Mar 2025 02:19:56 +0300 Subject: [PATCH 1/2] Update MicrophoneStreamModule.java editted for bridgeless react native --- .../MicrophoneStreamModule.java | 29 +++++++++++++------ 1 file changed, 20 insertions(+), 9 deletions(-) diff --git a/android/src/main/java/com/github/chadsmith/MicrophoneStream/MicrophoneStreamModule.java b/android/src/main/java/com/github/chadsmith/MicrophoneStream/MicrophoneStreamModule.java index 6e56fa4..181da2a 100644 --- a/android/src/main/java/com/github/chadsmith/MicrophoneStream/MicrophoneStreamModule.java +++ b/android/src/main/java/com/github/chadsmith/MicrophoneStream/MicrophoneStreamModule.java @@ -120,19 +120,30 @@ public void stop() { } } - private void recording() { - short buffer[] = new short[bufferSize]; - byte encoded[] = new byte[bufferSize]; - G711UCodec codec = new G711UCodec(); + // private void recording() { + // short buffer[] = new short[bufferSize]; + // byte encoded[] = new byte[bufferSize]; + // G711UCodec codec = new G711UCodec(); + + // while (running && !reactContext.getCatalystInstance().isDestroyed()) { + // WritableArray data = Arguments.createArray(); + // audioRecord.read(buffer, 0, bufferSize); + // codec.encode(buffer, bufferSize, encoded, 0); + // for (byte value : encoded) { + // data.pushInt((int) value); + // } + // eventEmitter.emit("audioData", data); + // } + // } - while (running && !reactContext.getCatalystInstance().isDestroyed()) { + private void recording() { + short[] buffer = new short[bufferSize]; + while (running && reactContext.hasActiveReactInstance()) { WritableArray data = Arguments.createArray(); audioRecord.read(buffer, 0, bufferSize); - codec.encode(buffer, bufferSize, encoded, 0); - for (byte value : encoded) { - data.pushInt((int) value); + for (short value : buffer) { + data.pushInt(value); } eventEmitter.emit("audioData", data); - } } } From efe9827f2ecfc537292a2de6b3c7eeaeee162c24 Mon Sep 17 00:00:00 2001 From: Oscar Muya Date: Sun, 4 May 2025 07:57:09 +0300 Subject: [PATCH 2/2] Updated to work with react native bridgeless mode --- .../MicrophoneStreamModule.java | 27 ++++++------------- 1 file changed, 8 insertions(+), 19 deletions(-) diff --git a/android/src/main/java/com/github/chadsmith/MicrophoneStream/MicrophoneStreamModule.java b/android/src/main/java/com/github/chadsmith/MicrophoneStream/MicrophoneStreamModule.java index 181da2a..0b444ce 100644 --- a/android/src/main/java/com/github/chadsmith/MicrophoneStream/MicrophoneStreamModule.java +++ b/android/src/main/java/com/github/chadsmith/MicrophoneStream/MicrophoneStreamModule.java @@ -120,30 +120,19 @@ public void stop() { } } - // private void recording() { - // short buffer[] = new short[bufferSize]; - // byte encoded[] = new byte[bufferSize]; - // G711UCodec codec = new G711UCodec(); - - // while (running && !reactContext.getCatalystInstance().isDestroyed()) { - // WritableArray data = Arguments.createArray(); - // audioRecord.read(buffer, 0, bufferSize); - // codec.encode(buffer, bufferSize, encoded, 0); - // for (byte value : encoded) { - // data.pushInt((int) value); - // } - // eventEmitter.emit("audioData", data); - // } - // } - private void recording() { - short[] buffer = new short[bufferSize]; + short buffer[] = new short[bufferSize]; + byte encoded[] = new byte[bufferSize]; + G711UCodec codec = new G711UCodec(); + while (running && reactContext.hasActiveReactInstance()) { WritableArray data = Arguments.createArray(); audioRecord.read(buffer, 0, bufferSize); - for (short value : buffer) { - data.pushInt(value); + codec.encode(buffer, bufferSize, encoded, 0); + for (byte value : encoded) { + data.pushInt((int) value); } eventEmitter.emit("audioData", data); + } } }