我正在开发一个Android应用程序,它基本上是将语音转换为文本作为后台进程的服务,我从How to register a custom speech recognition service?获得了帮助,但我无法知道何时调用onStartListening()
。
签名:
protected void onStartListening(Intent recognizerIntent, Callback listener)
任何人都可以帮助或帮助我在该链接中给出的代码中添加更多语句,以便我能够将语音识别为文本并在吐司中显示它吗?
答案 0 :(得分:0)
一般来说,有两种应用程序:
RecognitionService
(我们称之为< EM> APP2 )。既然你提到“吐司”(即一个UI元素),我想你想实现 app1 ?
app1 需要执行以下操作:
Intent intent = ...
SpeechRecognizer recognizer = ...
recognizer.setRecognitionListener(new RecognitionListener() { ... });
recognizer.startListening(intent)
根据指定的意图并考虑用户设置,Android会找到合适的 app2 来服务 app1 。
app2 扩展了抽象类RecognitionService
,即它需要实现一堆方法,其中包括onStartListening
。当 app1 调用startListening
时,Android会调用后者。
作为 app1 的作者,您只需要使用各种意图附加功能向识别器提供输入详细信息,使用接口{{1}的方法提供识别器输出的处理。使用RecognitionListener
启动 app2 。