Android语音识别服务忙吗?

gog*_*abr 7 android speech-recognition

我从我的应用程序中使用Android语音识别服务.

事实证明,当两个客户端同时尝试发送请求时(例如,用户从应用程序启动一个语音搜索,然后在搜索仍处于活动状态时切换到另一个应用程序,并启动另一个搜索),该服务将停止工作.

有没有办法确定正在进行语音识别会话,以便我可以拒绝启动另一个?

BRP*_*ock 1

您可能应该在 onError 处理程序中捕获 ERROR_RECOGNIZER_BUSY :

\n\n
@Override\npublic void onError(int error) {\n  switch (error) {\n    case SpeechRecognizer.ERROR_RECOGNIZER_BUSY:\n      // do something reasonable\n    \xe2\x80\xa6\n  }\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

您很可能(仅?)会在开始收听的请求时收到该信息;不幸的是,我不知道有什么方法可以在不尝试的情况下测试这种情况(例如,我认为您无法预先检测另一个进程的侦听器是否处于活动状态以删除麦克风按钮)

\n\n

(在停止监听时,如果您试图以某种方式杀死另一个进程的监听器,您只会收到此错误。)

\n