Browse Source

Fix crash for some of devices.

master
Beqa Gozalishvili 2 years ago
parent
commit
e72e30ba52
1 changed files with 12 additions and 8 deletions
  1. 12
    8
      android/jni/jni/eSpeakService.c

+ 12
- 8
android/jni/jni/eSpeakService.c View File

@@ -195,14 +195,18 @@ JNICALL Java_com_reecedunn_espeak_SpeechSynthesis_nativeGetAvailableVoices(
sprintf(gender_buf, "%d", v->gender);
sprintf(age_buf, "%d", v->age);

(*env)->SetObjectArrayElement(
env, voicesArray, voicesIndex++, (*env)->NewStringUTF(env, lang_name));
(*env)->SetObjectArrayElement(
env, voicesArray, voicesIndex++, (*env)->NewStringUTF(env, identifier));
(*env)->SetObjectArrayElement(
env, voicesArray, voicesIndex++, (*env)->NewStringUTF(env, gender_buf));
(*env)->SetObjectArrayElement(
env, voicesArray, voicesIndex++, (*env)->NewStringUTF(env, age_buf));
jstring lang = (*env)->NewStringUTF(env, lang_name);
(*env)->SetObjectArrayElement(env, voicesArray, voicesIndex++, lang);
(*env)->DeleteLocalRef(env, lang);
jstring ident = (*env)->NewStringUTF(env, identifier);
(*env)->SetObjectArrayElement(env, voicesArray, voicesIndex++, ident);
(*env)->DeleteLocalRef(env, ident);
jstring gender = (*env)->NewStringUTF(env, gender_buf);
(*env)->SetObjectArrayElement(env, voicesArray, voicesIndex++, gender);
(*env)->DeleteLocalRef(env, gender);
jstring age = (*env)->NewStringUTF(env, age_buf);
(*env)->SetObjectArrayElement(env, voicesArray, voicesIndex++, age);
(*env)->DeleteLocalRef(env, age);
}

return voicesArray;

Loading…
Cancel
Save