From 1b59c10a0ce779b1f3e74fad9f043db1736cad7d Mon Sep 17 00:00:00 2001 From: Sergey Date: Thu, 1 Oct 2020 18:06:13 +0300 Subject: [PATCH] request audio focus on android --- .../net/no_mad/tts/TextToSpeechModule.java | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/android/src/main/java/net/no_mad/tts/TextToSpeechModule.java b/android/src/main/java/net/no_mad/tts/TextToSpeechModule.java index 059947a..5103fc9 100644 --- a/android/src/main/java/net/no_mad/tts/TextToSpeechModule.java +++ b/android/src/main/java/net/no_mad/tts/TextToSpeechModule.java @@ -199,18 +199,17 @@ public void getInitStatus(Promise promise) { public void speak(String utterance, ReadableMap params, Promise promise) { if(notReady(promise)) return; - if(ducking) { - // Request audio focus for playback - int amResult = audioManager.requestAudioFocus(afChangeListener, - // Use the music stream. - AudioManager.STREAM_MUSIC, - // Request permanent focus. - AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK); - - if(amResult != AudioManager.AUDIOFOCUS_REQUEST_GRANTED) { - promise.reject("Android AudioManager error, failed to request audio focus"); - return; - } + int durationHint = ducking ? AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK : AudioManager.AUDIOFOCUS_GAIN; + // Request audio focus for playback + int amResult = audioManager.requestAudioFocus(afChangeListener, + // Use the music stream. + AudioManager.STREAM_MUSIC, + // Request permanent focus. + durationHint); + + if(amResult != AudioManager.AUDIOFOCUS_REQUEST_GRANTED) { + promise.reject("Android AudioManager error, failed to request audio focus"); + return; } String utteranceId = Integer.toString(utterance.hashCode());