看起来谷歌已经从Google即时版为第三方应用程序提供了离线语音识别功能.它被名为Utter的应用程序使用.
有没有人看过如何使用这个离线语音rec进行简单的语音命令的任何实现?您是否只使用常规的SpeechRecognizer API并自动运行?
android speech-recognition offline speech-to-text google-now
在Java中是否有任何方法可以检测Android设备是否安装了脱机语音识别语言,以及是否提示用户不下载它?
我知道你可以要求发言到文本,更喜欢离线语音到文本,但是你怎么知道设备是否安装了语言?
这个问题不是关于如何使用离线语音,这是有效的.问题是"如何从Java应用程序代码中检测和下载/安装脱机语音语言".即让应用程序检测他们是否安装了脱机德语,如果没有提示用户下载/安装它.
在大多数Android设备中,RecognitionService将由Google的原生"现在/助理"应用程序提供.
在Android Oreo之前,我能够使用以下简单代码查询Google Recognizer支持的语言:
final Intent vrIntent = new Intent(RecognizerIntent.ACTION_GET_LANGUAGE_DETAILS);
// vrIntent.setPackage("com.google.android.googlequicksearchbox");
getContext().sendOrderedBroadcast(vrIntent, null, new BroadcastReceiver() {
@Override
public void onReceive(final Context context, final Intent intent) {
// final Bundle bundle = intent.getExtras();
final Bundle bundle = getResultExtras(true);
if (bundle != null) {
if (bundle.containsKey(RecognizerIntent.EXTRA_SUPPORTED_LANGUAGES)) {
Log.i("TAG", "onReceive: EXTRA_SUPPORTED_LANGUAGES present");
final ArrayList<String> vrStringLocales = bundle.getStringArrayList(
RecognizerIntent.EXTRA_SUPPORTED_LANGUAGES);
Log.i("TAG", "onReceive: EXTRA_SUPPORTED_LANGUAGES size: " + vrStringLocales.size());
} else {
Log.w("TAG", "onReceive: missing EXTRA_SUPPORTED_LANGUAGES");
}
} else {
Log.w("TAG", "onReceive: Bundle null"); …Run Code Online (Sandbox Code Playgroud) java android speech-recognition voice-recognition google-voice-search