首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android语音识别服务忙吗?

Android语音识别服务忙吗?
EN

Stack Overflow用户
提问于 2012-08-24 19:16:43
回答 2查看 3.4K关注 0票数 7

我在我的应用程序中使用Android语音识别服务。

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

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

EN

回答 2

Stack Overflow用户

发布于 2014-02-06 00:07:08

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

代码语言:javascript
复制
@Override
public void onError(int error) {
  switch (error) {
    case SpeechRecognizer.ERROR_RECOGNIZER_BUSY:
      // do something reasonable
    …
  }
}

你最有可能(唯一?)在请求开始监听时接收到;不幸的是,我不知道有什么方法可以在不尝试的情况下测试这个条件(例如,我不认为你可以预先检测到另一个进程的监听器正在活动以删除麦克风按钮)

(在停止侦听时,只有当您试图以某种方式终止另一个进程的侦听器时,才会收到此错误。)

票数 1
EN

Stack Overflow用户

发布于 2015-01-14 04:02:21

我得到了这个错误(ERROR_RECOGNIZER_BUSY),并发现在我的意图设置中缺少这个包。所以我只添加了这一行,现在它可以工作了:

代码语言:javascript
复制
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
...
intent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE, context.getPackageName());
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12108361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档