0

TTS for Android を使用するアプリケーションを開発しています。TTS の言語を設定する際に何かが得られないようです。

アプリケーションをイタリア語で話すように設定できましたが、フィンランド語またはロシア語ではできませんでした。ただし、これを出力すると、両方が表示されます。

  Log.i("-------------",Arrays.toString(Locale.getAvailableLocales()));

これにより、次のことが得られます。

[ar, ar_EG, bg, bg_BG, ca, ca_ES, cs, cs_CZ, da, da_DK, de, de_AT, de_BE, de_CH, de_DE, de_LI, de_LU, el, el_CY, el_GR, en, en_AU, en_BE, en_BW, en_BZ, en_CA, en_GB, en_HK, en_IE, en_IN, en_JM, en_MH, en_MT, en_NA, en_NZ, en_PH, en_PK, en_RH, en_SG, en_TT, en_US, en_US_POSIX, en_VI, en_ZA, en_ZW, es, es_AR, es_BO, es_CL, es_CO, es_CR, es_DO, es_EC, es_ES, es_GT, es_HN, es_MX, es_NI, es_PA, es_PE, es_PR, es_PY, es_SV, es_US, es_UY, es_VE, et, et_EE, eu, eu_ES, fa, fa_IR, **fi, fi_FI**, fr, fr_BE, fr_CA, fr_CH, fr_FR, fr_LU, fr_MC, gl, gl_ES, hr, hr_HR, hu, hu_HU, in, in_ID, is, is_IS, it, it_CH, it_IT, iw, iw_IL, ja, ja_JP, kk, kk_KZ, ko, ko_KR, lt, lt_LT, lv, lv_LV, mk, mk_MK, ms, ms_BN, ms_MY, nl, nl_BE, nl_NL, no, no_NO, no_NO_NY, pl, pl_PL, pt, pt_BR, pt_PT, ro, ro_RO, **ru, ru_RU**, ru_UA, sh, sh_BA, sh_CS, sh_YU, sk, sk_SK, sl, sl_SI, sq, sq_AL, sr, sr_BA, sr_ME, sr_RS, sv, sv_FI, sv_SE, th, th_TH, tr, tr_TR, uk, uk_UA, vi, vi_VN, zh, zh_CN, zh_HK, zh_HANS_SG, zh_HANT_MO, zh_MO, zh_TW]

だから問題は何ですか?

4

1 に答える 1

1

Locale.getAvailableLocales() は、デバイスが理解できるロケール コードを返します。これは、現在のテキスト読み上げエンジンでサポートされているロケールとは関係ありません。

TTS エンジンへの接続を作成した後、TextToSpeech.isLanguageAvailable(Locale)を呼び出して、言語がエンジンでサポートされているかどうか、およびその特定の言語のデータがインストールされているかどうかを確認できます。

于 2012-09-10T04:16:21.163 に答える