2016-06-12 57 views
1

在我的应用程序中,我尝试创建一个语音识别器,从文本到语音谷歌API,用于土耳其语,并通过EXTRA_LANGUAGE_PREFERENCE作为“tr_TR”识别并返回土耳其语的结果,但其识别内容英语但不是土耳其语。如何为SpeechRecognizer设置土耳其语语音Google SpeechToText APi

String lang_code="tr_TR";  
recognizerIntent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); 
      recognizerIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_PREFERENCE, 
        lang_code); 
      recognizerIntent.putExtra(RecognizerIntent.EXTRA_ONLY_RETURN_LANGUAGE_PREFERENCE, lang_code); 
      recognizerIntent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE, 
        this.getPackageName()); 
      recognizerIntent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, 
        RecognizerIntent.LANGUAGE_MODEL_WEB_SEARCH); 
      recognizerIntent.putExtra(RecognizerInt 

ent.EXTRA_MAX_RESULTS, 3); 
+1

你从哪儿弄来的'tur'?它是'tr_TR',从Android 2.3开始支持。看到这个[post](http://stackoverflow.com/questions/7973023/what-is-the-list-of-supported-languages-locales-on-android)供您参考。 –

+0

您是否尝试过“tr-TR”? –

+0

好的,但是你在哪里将语言环境更改为土耳其语? –

回答

2

我,在我的代码的问题:

 language = "tr-TR"; 

     Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); 
     intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, language); 
     intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); 
     intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_PREFERENCE, language); 
     intent.putExtra(RecognizerIntent.EXTRA_SUPPORTED_LANGUAGES, language); 
     intent.putExtra(RecognizerIntent.EXTRA_ONLY_RETURN_LANGUAGE_PREFERENCE, language); 
     intent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE, language); 
     intent.putExtra(RecognizerIntent.EXTRA_RESULTS, language); 
     startActivityForResult(intent, REQUEST_CODE); 
0

土耳其语的语言代码是“tr”。以下是我使用它的方式。

Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); 
    intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, "tr"); 
    intent.putExtra(RecognizerIntent.EXTRA_MAX_RESULTS, 1);