我正在尝试创建一个使用语音文本进行命令输入的应用程序 . 我正在为Android 6.0.1和5.1.1制作这个 . 我开始尝试使用Google服务的示例,但它们似乎都不适用于我的设备 . 大多数时候没有明显的错误或崩溃 . 我在使用wifi和移动互联网时遇到了无网络错误 . 为了记录,我确实尝试直接使用谷歌应用程序语音识别,但这没有给出任何错误或答案 . 之后,我尝试了其他似乎不使用Google服务的示例 . 我也希望该示例脱机工作,但这更像是一个偏好而不是一个要求 . I am looking for an example for android speech recognition which does not use any of the google services.
我试过的一些例子:
没有谷歌的设备没有工作 - 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/
我的主要问题是,如果这样的事情是可能的,如果是,那么如何(请作为一个例子)?
edit 1:
使用以下示例修复了权限不足错误:https://inducesmile.com/android/android-6-marshmallow-runtime-permissions-request-example/
现在我收到ERROR_CLIENT错误(我不知道它意味着什么) .
edit 2:
the project
logcat output
1 回答
Android设备附带Google移动服务和一些平台级功能,例如
SpeechRecognizer
使用的RecognitionService
的实现 . 内置服务支持离线功能(您可以实际指定您喜欢离线使用的选项) . 如果不使用脱机支持,则需要INTERNET
权限 .但是,您的问题很可能是
RECORD_AUDIO
权限,特别是在Android 6上 . 从Android 6(Marshmallow,API 23)开始,您必须使用运行时权限模型来访问任何dangerous
权限(RECORD_AUDIO
是 . )