diff options
author | Jean-Michel Trivi <jmtrivi@google.com> | 2009-06-16 15:36:28 -0700 |
---|---|---|
committer | Jean-Michel Trivi <jmtrivi@google.com> | 2009-06-17 10:16:17 -0700 |
commit | 679d728f09eeab2f8b882e42f6e081db1ac74996 (patch) | |
tree | 3b9301c16f53e0e09a9c3c0b372ae7105f6f6f7b /packages/TtsService/jni | |
parent | f1170fb5386ea86d704480d321ee9d1ee4858244 (diff) | |
download | frameworks_base-679d728f09eeab2f8b882e42f6e081db1ac74996.zip frameworks_base-679d728f09eeab2f8b882e42f6e081db1ac74996.tar.gz frameworks_base-679d728f09eeab2f8b882e42f6e081db1ac74996.tar.bz2 |
Using Locale to specify language and country for a TTS language to load,
rather than a String.
Cleanup in doc for TextToSpeech, and addition of queue mode constants.
Diffstat (limited to 'packages/TtsService/jni')
-rw-r--r-- | packages/TtsService/jni/android_tts_SynthProxy.cpp | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/packages/TtsService/jni/android_tts_SynthProxy.cpp b/packages/TtsService/jni/android_tts_SynthProxy.cpp index dfecfd8..54d038a 100644 --- a/packages/TtsService/jni/android_tts_SynthProxy.cpp +++ b/packages/TtsService/jni/android_tts_SynthProxy.cpp @@ -269,10 +269,10 @@ android_tts_SynthProxy_native_finalize(JNIEnv *env, jobject thiz, jint jniData) } } -// TODO update to use language, country, variant + static void android_tts_SynthProxy_setLanguage(JNIEnv *env, jobject thiz, jint jniData, - jstring language) + jstring language, jstring country, jstring variant) { if (jniData == 0) { LOGE("android_tts_SynthProxy_setLanguage(): invalid JNI data"); @@ -281,14 +281,16 @@ android_tts_SynthProxy_setLanguage(JNIEnv *env, jobject thiz, jint jniData, SynthProxyJniStorage* pSynthData = (SynthProxyJniStorage*)jniData; const char *langNativeString = env->GetStringUTFChars(language, 0); + const char *countryNativeString = env->GetStringUTFChars(country, 0); + const char *variantNativeString = env->GetStringUTFChars(variant, 0); // TODO check return codes if (pSynthData->mNativeSynthInterface) { - // TODO update to use language, country, variant - // commented out to not break the build - //pSynthData->mNativeSynthInterface->setLanguage(langNativeString, - // strlen(langNativeString)); + pSynthData->mNativeSynthInterface->setLanguage(langNativeString, countryNativeString, + variantNativeString); } env->ReleaseStringUTFChars(language, langNativeString); + env->ReleaseStringUTFChars(language, countryNativeString); + env->ReleaseStringUTFChars(language, variantNativeString); } @@ -496,6 +498,7 @@ android_tts_SynthProxy_getLanguage(JNIEnv *env, jobject thiz, jint jniData) return env->NewStringUTF(buf); } + JNIEXPORT int JNICALL android_tts_SynthProxy_getRate(JNIEnv *env, jobject thiz, jint jniData) { @@ -531,7 +534,7 @@ static JNINativeMethod gMethods[] = { (void*)android_tts_SynthProxy_synthesizeToFile }, { "native_setLanguage", - "(ILjava/lang/String;)V", + "(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", (void*)android_tts_SynthProxy_setLanguage }, { "native_setSpeechRate", @@ -567,7 +570,6 @@ static JNINativeMethod gMethods[] = { #define SP_JNIDATA_FIELD_NAME "mJniData" #define SP_POSTSPEECHSYNTHESIZED_METHOD_NAME "postNativeSpeechSynthesizedInJava" -// TODO: verify this is the correct path static const char* const kClassPathName = "android/tts/SynthProxy"; jint JNI_OnLoad(JavaVM* vm, void* reserved) |