diff options
author | Android (Google) Code Review <android-gerrit@google.com> | 2009-07-01 00:07:07 -0700 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2009-07-01 00:07:07 -0700 |
commit | 8efa48e7f4484b2c05c1c66726478a22c29ddd1a (patch) | |
tree | 957c1a49891d550bd2c57289cde99cef26db6247 /packages | |
parent | ed3240ed1ac63c64e6c182a3c05cc7d31565fd46 (diff) | |
parent | 9032ab8e2d42882ea79eabac33c5c2a09565b982 (diff) | |
download | frameworks_base-8efa48e7f4484b2c05c1c66726478a22c29ddd1a.zip frameworks_base-8efa48e7f4484b2c05c1c66726478a22c29ddd1a.tar.gz frameworks_base-8efa48e7f4484b2c05c1c66726478a22c29ddd1a.tar.bz2 |
am 9032ab8e: Merge change 5673 into donut
Merge commit '9032ab8e2d42882ea79eabac33c5c2a09565b982'
* commit '9032ab8e2d42882ea79eabac33c5c2a09565b982':
Adding support for params.
Diffstat (limited to 'packages')
-rwxr-xr-x | packages/TtsService/src/android/tts/TtsService.java | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/packages/TtsService/src/android/tts/TtsService.java b/packages/TtsService/src/android/tts/TtsService.java index 421b2ca..c6b5bee 100755 --- a/packages/TtsService/src/android/tts/TtsService.java +++ b/packages/TtsService/src/android/tts/TtsService.java @@ -91,6 +91,7 @@ public class TtsService extends Service implements OnCompletionListener { } private static final int MAX_SPEECH_ITEM_CHAR_LENGTH = 4000; + private static final int MAX_FILENAME_LENGTH = 250; private static final String ACTION = "android.intent.action.USE_TTS"; private static final String CATEGORY = "android.intent.category.TTS"; @@ -414,6 +415,26 @@ public class TtsService extends Service implements OnCompletionListener { synth.start(); return; } + if (params != null){ + String language = ""; + String country = ""; + String variant = ""; + for (int i = 0; i < params.size() - 1; i = i + 2){ + String param = params.get(i); + if (param.equals(TextToSpeech.Engine.TTS_KEY_PARAM_RATE)){ + setSpeechRate(Integer.parseInt(params.get(i+1))); + } else if (param.equals(TextToSpeech.Engine.TTS_KEY_PARAM_LANGUAGE)){ + language = params.get(i+1); + } else if (param.equals(TextToSpeech.Engine.TTS_KEY_PARAM_COUNTRY)){ + country = params.get(i+1); + } else if (param.equals(TextToSpeech.Engine.TTS_KEY_PARAM_VARIANT)){ + variant = params.get(i+1); + } + } + if (language.length() > 0){ + setLanguage(language, country, variant); + } + } nativeSynth.speak(text); } catch (InterruptedException e) { e.printStackTrace(); @@ -614,8 +635,7 @@ public class TtsService extends Service implements OnCompletionListener { return false; } // Don't allow a filename that is too long - // TODO use platform constant - if (filename.length() > 250) { + if (filename.length() > MAX_FILENAME_LENGTH) { return false; } nativeSynth.synthesizeToFile(text, filename); @@ -660,8 +680,7 @@ public class TtsService extends Service implements OnCompletionListener { return false; } // Don't allow a filename that is too long - // TODO use platform constant - if (filename.length() > 250) { + if (filename.length() > MAX_FILENAME_LENGTH) { return false; } // TODO: Add nativeSynth.synthesizeIpaToFile(text, filename); |