在Android应用程序中使用文本到语音API

时间:2011-12-05 05:03:49

标签: android text-to-speech

我想在我的android应用程序中使用TTS(文本到语音)API。现在我有一个问题 - 它是否支持TURKISH语言? 我还想在textview中突出显示单词时的单词。

我该怎么办? 有人能帮助我吗?

提前致谢!

3 个答案:

答案 0 :(得分:3)

  

它是否支持TURKISH语言

这可能因Android的不同手机/口味而异。您可以使用

自行查看
   mTTS.isLanguageAvailable(new Locale("tr", "TUR"));

  

我还想在发表该特定单词时在textview中突出显示单词。

你有一个TextToSpeech.OnUtteranceCompletedListener(),要使用它,你必须speak()每个单词,一次一个。

答案 1 :(得分:0)

Android平台附带的TTS引擎支持多种语言:英语,法语,德语,意大利语和西班牙语。此外,根据您所在的大西洋哪一侧,支持美国和英国的英语口音。

http://developer.android.com/resources/articles/tts.html

答案 2 :(得分:0)

您应该使用Locale类型变量。

  final Locale locale = new Locale("tr", "TR");          

  tts = new TextToSpeech(getApplicationContext(), new
  TextToSpeech.OnInitListener() {
        @Override
        public void onInit(int status) {

             if (status == TextToSpeech.SUCCESS) {
                int result = tts.setLanguage(locale);
                if (result == TextToSpeech.LANG_MISSING_DATA
                        || result == TextToSpeech.LANG_NOT_SUPPORTED) {
                    Log.d("class name", "tts error ");
                }
            } else {
                Log.d("class name", "tts error ");
            }
        }
    });
   tts.speak("write here what you want in Turkish", TextToSpeech.QUEUE_FLUSH, null);