我希望创建一个具有语音到文本的应用程序 .
我使用RecognizerIntent了解这种能力:http://android-developers.blogspot.com/search/label/Speech%20Input
但是 - 我不希望弹出一个新的Intent,我想在我当前的应用程序中对某些点进行分析,我不希望它弹出一些声明它正在尝试录制你的声音 .
有没有人知道如何最好地做到这一点 . 我或许正在考虑尝试Sphinx 4 - 但我不知道这是否可以在Android上运行 - 有没有人有任何建议或经验?!
我想知道我是否可以在这里修改代码,或许不打扰显示UI或按钮,只是进行处理:http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/app/VoiceRecognition.html
干杯,
3 回答
如果您不想使用
RecognizerIntent
进行语音识别,您仍然可以使用SpeechRecognizer类来执行此操作 . 但是,使用该类比使用intent更棘手 . 作为最后一点,我强烈建议让用户知道他何时被录音,否则他可能会非常安静,当他终于发现时 .编辑:一个小例子受到启发(但已更改)this stack overflow entry
重要说明:从UI线程运行此代码 .
Android内置的功能(通过意图启动)是一种客户端活动,可捕获您的语音并将音频发送到Google服务器进行识别 . 你可以 Build 类似的东西 . 您可以自己托管狮身人面像(或使用像Yapme.com这样的 Cloud 识别服务),自己捕捉声音,将音频发送到识别器,然后将文本结果返回给您的应用 . 我不知道如何在不使用Android(或Chrome)上的Intent的情况下利用Google识别服务 .
到目前为止我所看到的普遍共识是,今天的智能手机并没有真正具备像Sphinx一样的语音识别能力 . 您可能想要自己探索运行客户端识别器,但Google使用服务器识别 .
有关相关信息,请参阅:
Google's voice search speech recognition service
Is it possible to use Android API outside an Android project?
Speech Recognition API
在您的活动中执行以下操作: