2013-04-30 26 views
2

我一直在android語音識別API上工作,發現當語言設置改變時,語音結果會發生變化,有沒有一種方法可以通過編程來設置它?或者是否有意在午餐的語言語言設置屏幕?還是還有什麼?注意:我試圖用這個意圖額外:如何在android應用上的語音識別中傳遞語言?

intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_PREFERENCE, "en-US"); 

Intent detailsIntent = new Intent(RecognizerIntent.ACTION_GET_LANGUAGE_DETAILS); 
sendOrderedBroadcast(detailsIntent, null, new LanguageDetailsChecker(), null, Activity.RESULT_OK, null, null); 
+0

你是什麼意思的結果差異很多? – 2013-05-01 03:43:11

+0

其實我想發送務實的語言區域設置來設置默認語言以外的英文 – 2013-05-02 11:45:08

+0

你能幫我在那個PLZ Egor – 2013-05-02 11:45:37

回答

1

你可以現在做的唯一的事情就是

intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_PREFERENCE, Locale.getDefault()); 

如果識別器引擎它可能無法正常工作不支持這種語言。

+0

雅它沒有爲我工作 – 2013-05-07 10:32:44

2

是的hanifs,該方法也沒有爲我工作。

我的默認設備語言是英語美國,但我需要SR的意大利語。 僅應用所有這三項附加功能,我強制Google Engine(用作設備的默認語音引擎)使用意大利語。

String myLanguage = "it"; //or, Locale.Italian.toString() 
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, myLanguage); 
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_PREFERENCE, myLanguage); 
intent.putExtra(RecognizerIntent.EXTRA_ONLY_RETURN_LANGUAGE_PREFERENCE, myLanguage); 

試試這種方式定製你的「myLanguage」變量,它應該沒問題!