From 1a499e23d90a7538c4599c21d416b53bf92425aa Mon Sep 17 00:00:00 2001 From: Cody Henthorne Date: Wed, 5 Jan 2022 09:52:22 -0500 Subject: [PATCH] Handle ISE with new voice note recording. --- .../securesms/audio/MediaRecorderWrapper.java | 26 ++++++++++++------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/audio/MediaRecorderWrapper.java b/app/src/main/java/org/thoughtcrime/securesms/audio/MediaRecorderWrapper.java index 67374e7cf..db468680b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/audio/MediaRecorderWrapper.java +++ b/app/src/main/java/org/thoughtcrime/securesms/audio/MediaRecorderWrapper.java @@ -24,15 +24,23 @@ public class MediaRecorderWrapper implements Recorder { public void start(ParcelFileDescriptor fileDescriptor) throws IOException { Log.i(TAG, "Recording voice note using MediaRecorderWrapper."); recorder = new MediaRecorder(); - recorder.setAudioSource(MediaRecorder.AudioSource.MIC); - recorder.setOutputFormat(MediaRecorder.OutputFormat.AAC_ADTS); - recorder.setOutputFile(fileDescriptor.getFileDescriptor()); - recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC); - recorder.setAudioSamplingRate(SAMPLE_RATE); - recorder.setAudioEncodingBitRate(BIT_RATE); - recorder.setAudioChannels(CHANNELS); - recorder.prepare(); - recorder.start(); + + try { + recorder.setAudioSource(MediaRecorder.AudioSource.MIC); + recorder.setOutputFormat(MediaRecorder.OutputFormat.AAC_ADTS); + recorder.setOutputFile(fileDescriptor.getFileDescriptor()); + recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC); + recorder.setAudioSamplingRate(SAMPLE_RATE); + recorder.setAudioEncodingBitRate(BIT_RATE); + recorder.setAudioChannels(CHANNELS); + recorder.prepare(); + recorder.start(); + } catch (IllegalStateException e) { + Log.w(TAG, "Unable to start recording", e); + recorder.release(); + recorder = null; + throw new IOException(e); + } } @Override