gpt4 book ai didi

android - 为什么 Android (Jelly Bean) 会忽略一个额外的 RecognizerIntent (Kõnele)?

转载 作者:行者123 更新时间:2023-11-29 00:25:34 26 4
gpt4 key购买 nike

我安装了开源Kõnele ( source code ) 的目的是研究如何编写和注册自定义语音识别服务。作为第一步,在深入研究源代码之前,我尝试验证它确实按我预期的那样工作。所以,我转到手机的系统设置 > 语言和输入法 > 语音识别器,然后选择 Kõnele 作为系统的识别器:

enter image description here

然后我尝试了手机中的各种应用程序,这些应用程序提供了带麦克风选项的键盘,希望当我触摸麦克风符号时,将使用 Kõnele。然而,系统总是弹出 Google 的内置语音搜索。

这是为什么?

我是否错过了我需要配置(作为用户)以使其正常工作的其他设置?

这是 Android 操作系统的“设计使然”限制吗?

是否可以告诉 Android 始终使用不同于 Google 语音搜索的其他 RecognizerIntent?如果是,怎么办?

更新:我设法找到一个似乎不会忽略额外的 RecognizerIntent 的应用:谷歌地图:

enter image description here

对我来说,这表明这与 Android Intent 解析有关。但是,为什么有些应用程序不会触发“使用完成操作”对话框,而 Google map 会触发?

最佳答案

我认为您已经完成了作为用户所能做的一切,但是想要使用语音识别器的应用程序当然可以随意忽略您的配置。例如。它可以通过像这样构建识别器来直接选择特定的语音识别器实现:

SpeechRecognizer.createSpeechRecognizer(this,
new ComponentName("com.google",
"com.google.Recognizer");
);

在这种情况下,您唯一的选择是卸载或禁用此特定实现,并希望该应用退回到通用方法:

SpeechRecognizer.createSpeechRecognizer(this);

不幸的是,在某些时候,Google 开始宣传应用程序直接链接到 Google 语音识别器的想法(参见 Add Voice Typing To Your IME)。现在很多键盘应用程序都这样做(参见例如 the issue that I raised with SwiftKey ),您唯一的选择是找到一个不...

也可能是该应用发送了 Kõnele 不支持的 Intent (支持的 Intent 在 manifest 中列出),但在语音识别应用中支持它是有意义的。在这种情况下,它将是 Kõnele 的功能请求。

关于android - 为什么 Android (Jelly Bean) 会忽略一个额外的 RecognizerIntent (Kõnele)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19850597/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com