【发布时间】:2016-05-31 06:25:27
【问题描述】:
我有一些将语音转换为文本的代码,但它仅在设备具有互联网连接时运行。我希望看到我的代码离线工作,为此我已经查看了来自 stackoverflow 和其他来源的几个代码,但我的代码仍然无法在离线模式下工作。
设备是 Moto X Play。启用离线语音识别。
这是我的代码。
private void promptSpeechInput() {
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
//intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE,"en-US");
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_PREFERENCE,"en-US");
intent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE,this.getPackageName());
intent.putExtra(RecognizerIntent.EXTRA_PREFER_OFFLINE,true);
//intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_WEB_SEARCH);
//intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.getDefault());
intent.putExtra(RecognizerIntent.EXTRA_PROMPT,getString(R.string.speech_prompt));
try {
startActivityForResult(intent, REQ_CODE_SPEECH_INPUT);
} catch (ActivityNotFoundException a) {
Toast.makeText(getApplicationContext(),
getString(R.string.speech_not_supported),
Toast.LENGTH_SHORT).show();
}
}
需要帮助来理解它,我想我遗漏了一些东西。
观察 没有其他应用允许离线模式。
【问题讨论】:
-
我已经试过了。但它不适合我。如果有的话,请建议任何其他方式。任何 API 或其他东西......欢迎所有选项。
-
找到解决方案了吗?
-
@user7856586 还没有,但是我已经交付了项目,还在等待解决方案。
标签: android speech-to-text offline-mode