【发布时间】:2020-04-05 04:42:37
【问题描述】:
可以通过代码确定设备上当前安装了哪些语言包?试过这个:
Intent detailsIntent = new Intent(RecognizerIntent.ACTION_GET_LANGUAGE_DETAILS);
sendOrderedBroadcast(detailsIntent, null, new LanguageDetailsChecker(), null, Activity.RESULT_OK, null, null);
public class LanguageDetailsChecker extends BroadcastReceiver {
private List<String> supportedLanguages;
@Override
public void onReceive(Context context, Intent intent)
{
Bundle results = getResultExtras(true);
if (results.containsKey(RecognizerIntent.EXTRA_SUPPORTED_LANGUAGES))
{
supportedLanguages =results.getStringArrayList(RecognizerIntent.EXTRA_SUPPORTED_LANGUAGES);
Log.d("TAG","languages: " + supportedLanguages);
}
}
}
但是,输出显示了很多语言,而我只安装了 en_UK、en_US 和 es_ES。有什么想法吗?
【问题讨论】:
-
您测试的是哪种语音识别服务?
-
谷歌语音识别支持数十种语言。你到底是什么意思你只安装了英语英国/美国和西班牙语?
-
您可以离线安装语言包,因此无需连接到 Google。我需要知道安装了哪些语言
-
我明白了。我认为您无法知道哪些语言包可以离线使用,因为这是 Google 语音识别引擎特有的。
标签: android speech-recognition