From a8ba2589a1e540dde06ff21ea973e02979d04afd Mon Sep 17 00:00:00 2001 From: kkusanagi Date: Wed, 2 Oct 2019 12:59:08 +0800 Subject: [PATCH 1/2] Add 'currentMetering' param while recording Able to track the sound db while recording. --- .../rnim/rn/audio/AudioRecorderManager.java | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/android/src/main/java/com/rnim/rn/audio/AudioRecorderManager.java b/android/src/main/java/com/rnim/rn/audio/AudioRecorderManager.java index f6cecf65..fcf87ebd 100644 --- a/android/src/main/java/com/rnim/rn/audio/AudioRecorderManager.java +++ b/android/src/main/java/com/rnim/rn/audio/AudioRecorderManager.java @@ -315,10 +315,26 @@ public void run() { if (!isPaused) { WritableMap body = Arguments.createMap(); body.putDouble("currentTime", stopWatch.getTimeSeconds()); + int maxAmplitude = 0; + if (recorder != null) { + maxAmplitude = recorder.getMaxAmplitude(); + + } + double dB = -160; + double maxAudioSize = 32767; + if (maxAmplitude > 0){ + // dB = dB + (160*(maxAmplitude/maxAudioSize)); + dB = 20 * Math.log10(maxAmplitude / maxAudioSize); + } + // if (dB < -160){ + // dB = -160; + // } + + body.putInt("currentMetering", (int) dB); sendEvent("recordingProgress", body); } } - }, 0, 1000); + }, 0, 250); } private void stopTimer(){ From 9a37391f987d910ae5112d04e5142be9963c726d Mon Sep 17 00:00:00 2001 From: kkusanagi Date: Mon, 27 Apr 2020 16:00:21 +0800 Subject: [PATCH 2/2] Remove Comment --- .../src/main/java/com/rnim/rn/audio/AudioRecorderManager.java | 4 ---- 1 file changed, 4 deletions(-) diff --git a/android/src/main/java/com/rnim/rn/audio/AudioRecorderManager.java b/android/src/main/java/com/rnim/rn/audio/AudioRecorderManager.java index fcf87ebd..9d0e6e3d 100644 --- a/android/src/main/java/com/rnim/rn/audio/AudioRecorderManager.java +++ b/android/src/main/java/com/rnim/rn/audio/AudioRecorderManager.java @@ -323,12 +323,8 @@ public void run() { double dB = -160; double maxAudioSize = 32767; if (maxAmplitude > 0){ - // dB = dB + (160*(maxAmplitude/maxAudioSize)); dB = 20 * Math.log10(maxAmplitude / maxAudioSize); } - // if (dB < -160){ - // dB = -160; - // } body.putInt("currentMetering", (int) dB); sendEvent("recordingProgress", body);