summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorkr.angelov <kr.angelov@gmail.com>2013-10-31 13:38:39 +0000
committerkr.angelov <kr.angelov@gmail.com>2013-10-31 13:38:39 +0000
commit5e584c5c3f4059c0ee9c68c595efced28f4c0748 (patch)
treea2524d2f77b3f5db24f1816eb79cc7190536060c /src
parent3e556355b048727224c1ce4110749d35729ae66d (diff)
when the phone is in silent mode the UI should not use the TTS
Diffstat (limited to 'src')
-rw-r--r--src/ui/android/src/org/grammaticalframework/ui/android/TTS.java20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/ui/android/src/org/grammaticalframework/ui/android/TTS.java b/src/ui/android/src/org/grammaticalframework/ui/android/TTS.java
index 6993a3fc6..2288335aa 100644
--- a/src/ui/android/src/org/grammaticalframework/ui/android/TTS.java
+++ b/src/ui/android/src/org/grammaticalframework/ui/android/TTS.java
@@ -1,6 +1,7 @@
package org.grammaticalframework.ui.android;
import android.content.Context;
+import android.media.AudioManager;
import android.speech.tts.TextToSpeech;
import android.util.Log;
@@ -12,9 +13,11 @@ public class TTS {
private static final String TAG = "TTS";
private TextToSpeech mTts;
+ private AudioManager mAudioManager;
public TTS(Context context) {
mTts = new TextToSpeech(context, new InitListener());
+ mAudioManager = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);
}
public void setLanguage(String language) {
@@ -33,13 +36,16 @@ public class TTS {
// TODO: handle speak() calls before service connects
public void speak(String text) {
- HashMap<String,String> params = new HashMap<String,String>();
- // TODO: how can I get network / embedded fallback?
- // Using both crashes the TTS engine if the offline data is not installed
- // Using only one doesn't allow the other
-// params.put(TextToSpeech.Engine.KEY_FEATURE_NETWORK_SYNTHESIS, "true");
-// params.put(TextToSpeech.Engine.KEY_FEATURE_EMBEDDED_SYNTHESIS, "true");
- mTts.speak(text, TextToSpeech.QUEUE_FLUSH, params);
+ int mode = mAudioManager.getRingerMode();
+ if (mAudioManager.getRingerMode() == AudioManager.RINGER_MODE_NORMAL) {
+ HashMap<String,String> params = new HashMap<String,String>();
+ // TODO: how can I get network / embedded fallback?
+ // Using both crashes the TTS engine if the offline data is not installed
+ // Using only one doesn't allow the other
+ // params.put(TextToSpeech.Engine.KEY_FEATURE_NETWORK_SYNTHESIS, "true");
+ // params.put(TextToSpeech.Engine.KEY_FEATURE_EMBEDDED_SYNTHESIS, "true");
+ mTts.speak(text, TextToSpeech.QUEUE_FLUSH, params);
+ }
}
public void destroy() {