diff options
author | Jean-Michel Trivi <jmtrivi@google.com> | 2009-06-24 11:32:06 -0700 |
---|---|---|
committer | Jean-Michel Trivi <jmtrivi@google.com> | 2009-06-24 11:32:06 -0700 |
commit | 6a0e293c84de02e819c1b402141bd3f7684ea164 (patch) | |
tree | 791b756560e1f3877ac47647f2b0817f0d0f26a3 /packages | |
parent | eaa89f74c04c0f10d5f3f8190b457087537bff2e (diff) | |
download | frameworks_base-6a0e293c84de02e819c1b402141bd3f7684ea164.zip frameworks_base-6a0e293c84de02e819c1b402141bd3f7684ea164.tar.gz frameworks_base-6a0e293c84de02e819c1b402141bd3f7684ea164.tar.bz2 |
Fix bug in TTS service where the language setting was using the default language
when the setting wasn't enforced, and vice-versa.
Cleaning the log of the native TTS layer to use LOGV for verbose messages,
rather than LOGI.
Diffstat (limited to 'packages')
-rw-r--r-- | packages/TtsService/jni/android_tts_SynthProxy.cpp | 14 | ||||
-rwxr-xr-x | packages/TtsService/src/android/tts/TtsService.java | 42 |
2 files changed, 45 insertions, 11 deletions
diff --git a/packages/TtsService/jni/android_tts_SynthProxy.cpp b/packages/TtsService/jni/android_tts_SynthProxy.cpp index 0aa4fa5..0dafcc1 100644 --- a/packages/TtsService/jni/android_tts_SynthProxy.cpp +++ b/packages/TtsService/jni/android_tts_SynthProxy.cpp @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - +#define LOG_NDEBUG 0 #include <stdio.h> #include <unistd.h> @@ -168,7 +168,7 @@ void prepAudioTrack(SynthProxyJniStorage* pJniData, static tts_callback_status ttsSynthDoneCB(void *& userdata, uint32_t rate, AudioSystem::audio_format format, int channel, int8_t *&wav, size_t &bufferSize, tts_synth_status status) { - LOGI("ttsSynthDoneCallback: %d bytes", bufferSize); + LOGV("ttsSynthDoneCallback: %d bytes", bufferSize); if (userdata == NULL){ LOGE("userdata == NULL"); @@ -178,7 +178,7 @@ static tts_callback_status ttsSynthDoneCB(void *& userdata, uint32_t rate, SynthProxyJniStorage* pJniData = (SynthProxyJniStorage*)(pForAfter->jniStorage); if (pForAfter->usageMode == USAGEMODE_PLAY_IMMEDIATELY){ - LOGI("Direct speech"); + LOGV("Direct speech"); if (wav == NULL) { delete pForAfter; @@ -189,16 +189,16 @@ static tts_callback_status ttsSynthDoneCB(void *& userdata, uint32_t rate, prepAudioTrack(pJniData, rate, format, channel); if (pJniData->mAudioOut) { pJniData->mAudioOut->write(wav, bufferSize); - LOGI("AudioTrack wrote: %d bytes", bufferSize); + //LOGV("AudioTrack wrote: %d bytes", bufferSize); } else { - LOGI("Can't play, null audiotrack"); + LOGE("Can't play, null audiotrack"); } } } else if (pForAfter->usageMode == USAGEMODE_WRITE_TO_FILE) { - LOGI("Save to file"); + LOGV("Save to file"); if (wav == NULL) { delete pForAfter; - LOGI("Null: speech has completed"); + LOGV("Null: speech has completed"); } if (bufferSize > 0){ fwrite(wav, 1, bufferSize, pForAfter->outputFile); diff --git a/packages/TtsService/src/android/tts/TtsService.java b/packages/TtsService/src/android/tts/TtsService.java index 21f56f8..a6a2dd3 100755 --- a/packages/TtsService/src/android/tts/TtsService.java +++ b/packages/TtsService/src/android/tts/TtsService.java @@ -170,6 +170,39 @@ public class TtsService extends Service implements OnCompletionListener { } + private String getDefaultLanguage() { + String defaultLang = android.provider.Settings.Secure.getString(mResolver, + android.provider.Settings.Secure.TTS_DEFAULT_LANG); + if (defaultLang == null) { + return TextToSpeech.Engine.FALLBACK_TTS_DEFAULT_LANG; + } else { + return defaultLang; + } + } + + + private String getDefaultCountry() { + String defaultCountry = android.provider.Settings.Secure.getString(mResolver, + android.provider.Settings.Secure.TTS_DEFAULT_COUNTRY); + if (defaultCountry == null) { + return TextToSpeech.Engine.FALLBACK_TTS_DEFAULT_COUNTRY; + } else { + return defaultCountry; + } + } + + + private String getDefaultLocVariant() { + String defaultVar = android.provider.Settings.Secure.getString(mResolver, + android.provider.Settings.Secure.TTS_DEFAULT_VARIANT); + if (defaultVar == null) { + return TextToSpeech.Engine.FALLBACK_TTS_DEFAULT_VARIANT; + } else { + return defaultVar; + } + } + + private void setSpeechRate(int rate) { if (isDefaultEnforced()) { nativeSynth.setSpeechRate(getDefaultRate()); @@ -185,15 +218,16 @@ public class TtsService extends Service implements OnCompletionListener { private void setLanguage(String lang, String country, String variant) { - Log.v("TTS", "TtsService.setLanguage("+lang+", "+country+", "+variant+")"); + Log.v("TTS", "TtsService.setLanguage(" + lang + ", " + country + ", " + variant + ")"); if (isDefaultEnforced()) { - nativeSynth.setLanguage(lang, country, variant); + nativeSynth.setLanguage(getDefaultLanguage(), getDefaultCountry(), + getDefaultLocVariant()); } else { - // TODO handle default language - nativeSynth.setLanguage("eng", "USA", ""); + nativeSynth.setLanguage(lang, country, variant); } } + /** * Adds a sound resource to the TTS. * |