Skip to content

Commit 613bd31

Browse files
committed
Fix double speed with onTimeElapsed in stereo channel
1 parent a4e4697 commit 613bd31

File tree

1 file changed

+6
-1
lines changed
  • android-wave-recorder/src/main/java/com/github/squti/androidwaverecorder

1 file changed

+6
-1
lines changed

android-wave-recorder/src/main/java/com/github/squti/androidwaverecorder/WaveRecorder.kt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
package com.github.squti.androidwaverecorder
2626

2727
import android.annotation.SuppressLint
28+
import android.media.AudioFormat
2829
import android.media.AudioRecord
2930
import android.media.MediaRecorder
3031
import android.media.audiofx.NoiseSuppressor
@@ -81,6 +82,8 @@ class WaveRecorder(private var filePath: String) {
8182
private var isPaused = false
8283
private lateinit var audioRecorder: AudioRecord
8384
private var noiseSuppressor: NoiseSuppressor? = null
85+
private var channelModulus = 2
86+
8487

8588
/**
8689
* Starts audio recording asynchronously and writes recorded data chunks on storage.
@@ -100,6 +103,8 @@ class WaveRecorder(private var filePath: String) {
100103
waveConfig.audioEncoding
101104
)
102105
)
106+
if (waveConfig.channels == AudioFormat.CHANNEL_IN_STEREO)
107+
channelModulus = 4
103108

104109
audioSessionId = audioRecorder.audioSessionId
105110

@@ -141,7 +146,7 @@ class WaveRecorder(private var filePath: String) {
141146
it(calculateAmplitudeMax(data))
142147
}
143148
onTimeElapsed?.let {
144-
val audioLengthInSeconds: Long = file.length() / (2 * waveConfig.sampleRate)
149+
val audioLengthInSeconds: Long = file.length() / (channelModulus * waveConfig.sampleRate)
145150
it(audioLengthInSeconds)
146151
}
147152
}

0 commit comments

Comments
 (0)