summaryrefslogtreecommitdiffstats
path: root/packages
diff options
context:
space:
mode:
authorAndroid (Google) Code Review <android-gerrit@google.com>2009-07-01 00:07:07 -0700
committerThe Android Open Source Project <initial-contribution@android.com>2009-07-01 00:07:07 -0700
commit8efa48e7f4484b2c05c1c66726478a22c29ddd1a (patch)
tree957c1a49891d550bd2c57289cde99cef26db6247 /packages
parented3240ed1ac63c64e6c182a3c05cc7d31565fd46 (diff)
parent9032ab8e2d42882ea79eabac33c5c2a09565b982 (diff)
downloadframeworks_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-xpackages/TtsService/src/android/tts/TtsService.java27
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);