java – 如何在我的应用程序中实现Google语音输入?

前端之家收集整理的这篇文章主要介绍了java – 如何在我的应用程序中实现Google语音输入?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试在我的应用程序中添加启动Google语音打字(或默认语音识别)的按钮.我试过跟着 this tutorial.这个教程是令人难以置信的迷惑我.我导入了.jar,并将必要的权限,服务和活动添加到我的清单.但我似乎无法弄清楚如何“把它放在一起”.我在想:

我应该从我的主要活动中的按钮点击调用inputMethodService?还是我的inputMethodService实质上成为我的主要活动?
> IME是什么意思?我尝试Google,但它给我的定义没有帮助我的理解.
>当我尝试将整个DemoInputMethodService代码复制并粘贴到我当前的活动中时,我收到一个错误,指出我不能在此活动内扩展InputMethodService. (其中回头问一个问题)

我该如何让这个工作?

解决方法

如果你想遵循你提到的教程,那么你需要首先实现一个IME(输入法编辑器),参见 http://developer.android.com/guide/topics/text/creating-input-method.html

这个IME可以有一个普通的键盘外观,或只包含一个麦克风按钮.

您的应用程序的用户首先必须单击文本字段才能启动IME. (请注意,设备上可能安装了几个IME,并且必须在“设置”中显式启用).然后用户将必须单击麦克风按钮才能触发语音识别.

本教程提供了一个可让您直接致电Google识别器的jar.如果您通过SpeechRecognizer界面(http://developer.android.com/reference/android/speech/SpeechRecognizer.html)呼叫识别器,那么用户可以决定是使用Google还是其他内容,这将会更好一些.

SpeechRecognizer被给予支持方法onPartialResults的监听器,它允许您在用户说话时监视识别假设.这取决于你如何显示它们.但是请注意,SpeechRecognizer的规范不承诺此方法调用.这取决于识别器服务的实现.关于Google的实施:它支持什么不断变化,没有公开的API,甚至没有发布说明.

您可能可以重用我的项目Kõnele(http://kaljurand.github.io/K6nele/about/),其中包含SpeechRecognizer和使用它们的IME的两个实现.其中一个实现使用Kaldi GStreamer服务器(https://github.com/alumae/kaldi-gstreamer-server)可以连续识别任意长的音频输入.您将需要将您自己的服务器端口设置为您想要识别的语言(除非您希望使用Kõnele默认使用的爱沙尼亚语服务器).

猜你在找的Java相关文章