在没有任何Google服务的情况下,Android上的语音识别和语音识别

时间:2018-01-04 22:18:20

标签: java android speech-recognition

我正在尝试创建一个使用语音文本进行命令输入的应用程序。我正在为Android 6.0.1和5.1.1制作这个。我首先尝试使用Google服务的示例,但它们似乎都不适用于我的设备。大多数时候没有明显的错误或崩溃。我在使用wifi和移动互联网时遇到了无网络错误。为了记录,我确实尝试直接使用谷歌应用语音识别,但这没有给出任何错误或答案。之后,我尝试了其他似乎不使用Google服务的示例。我也希望该示例脱机工作,但这更像是一个偏好而不是一个要求。 我正在寻找一个不使用任何谷歌服务的Android语音识别示例。

我尝试过的一些例子:

没有Google的设备无法使用 - https://github.com/gotev/android-speech

我收到了ERROR_INSUFFICIENT_PERMISSIONS错误(允许使用RECORD_AUDIO和INTERNET) - http://www.truiton.com/2014/06/android-speech-recognition-without-dialog-custom-activity/

我的主要问题是,如果这样的事情是可能的,如果是,那么如何(请作为一个例子)?

编辑1:
使用以下示例修复了权限不足错误: https://inducesmile.com/android/android-6-marshmallow-runtime-permissions-request-example/

现在我收到ERROR_CLIENT错误(我不知道它意味着什么)。

编辑2:
the project
logcat output

1 个答案:

答案 0 :(得分:3)

Android设备附带Google移动服务和一些平台级功能,例如hoverinfo使用RecognitionService的实现。内置服务支持离线功能(您可以实际指定您希望离线使用的选项)。如果不使用离线支持,则需要SpeechRecognizer权限。

但是,您的问题很可能是INTERNET权限,特别是在Android 6+上。从Android 6(Marshmallow,API 23)开始,您必须使用运行时权限模型来访问任何RECORD_AUDIO权限(dangerous}。