Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 什么时候开始收听?_Java_Android_Service_Speech Recognition_Voice Recognition - Fatal编程技术网

Java 什么时候开始收听?

Java 什么时候开始收听?,java,android,service,speech-recognition,voice-recognition,Java,Android,Service,Speech Recognition,Voice Recognition,我正在开发一个android应用程序,它基本上是一个将语音转换为文本作为后台进程的服务,我从中获得了帮助,但我不知道何时调用onstartseating() 签名: protected void onStartListening(Intent recognizerIntent, Callback listener) 有人能帮我或帮我在该链接中给出的代码中添加更多语句,以便我能识别文本中的演讲并在祝酒词中显示出来吗?一般来说,有两种应用程序: 指导用户将音频转换为文本的应用程序,但实际上并没有

我正在开发一个android应用程序,它基本上是一个将语音转换为文本作为后台进程的服务,我从中获得了帮助,但我不知道何时调用
onstartseating()

签名:

protected void onStartListening(Intent recognizerIntent, Callback listener)

有人能帮我或帮我在该链接中给出的代码中添加更多语句,以便我能识别文本中的演讲并在祝酒词中显示出来吗?

一般来说,有两种应用程序:

  • 指导用户将音频转换为文本的应用程序,但实际上并没有实现语音识别部分,只是实现了UI部分(麦克风按钮、VU可视化工具)(让我们称之为app1)
  • 在设备上或通过调用云服务将音频转换为文本的应用程序,为了让app1能够使用它们,它们扩展了
    RecognitionService
    (让我们称它们为app2)
既然您提到了“toast”(即一个UI元素),我想您是想实现app1吗

app1需要执行以下操作:

Intent intent = ...
SpeechRecognizer recognizer = ...
recognizer.setRecognitionListener(new RecognitionListener() { ... });
recognizer.startListening(intent)
基于指定的意图并考虑用户设置,Android会找到合适的app2来为app1提供服务

app2扩展了抽象类
RecognitionService
,即它需要实现一系列方法,其中包括
onStartListening
。当app1调用
startListening
时,Android会调用后者


作为app1的作者,您只需使用各种意图附加程序向识别器提供输入详细信息,使用接口
RecognitionListener
的方法提供识别器输出的处理,并使用
startListening

@Tý253; abhùsś–能否更详细地更新您的问题,例如您的
onStartListening的实现以及如何在清单中注册服务。从这个问题的当前版本来看,我不太明白您在哪里被卡住了……我在使用RecognitionService进行扩展时创建了一个服务。当服务启动时,永远不会调用onStartListening方法。它将如何开始工作@GauravArora你能提供更多细节吗,最好是作为新问题的一部分