在Google Glass上使用Android语音识别API

14

我正在努力将一个现有的Android应用程序适配到Google Glass上,并作为一个概念验证。我希望在我的应用程序中使用语音输入来替换一些当前需要触摸输入的功能。

我可以将我的APK部署到Google Glass并通过ADB运行它,但一旦它运行起来,我尝试过的任何Android语音识别API都无法在Glass上工作:

startActivityForResult(new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH));

当在 Google Glass 上运行时,这将导致 ActivityNotFoundException ("no activity found to handle intent")。

SpeechRecognizer.IsRecognitionAvailable(context);

在Google Glass上,这总是返回false。

我想知道是否有其他人遇到了这些问题或有任何建议。


3
你已经解决了这个问题吗?目前谷歌眼镜上是否有语音识别API? - Daniel
你可以采用一些巧妙的方法,比如创建一个Web视图,并像这样管理语音识别:http://updates.html5rocks.com/2013/01/Voice-Driven-Web-Apps-Introduction-to-the-Web-Speech-API。或者你也可以非官方地使用Google的Web语音识别API。 - Dany Joumaa
2个回答

9
要使用标准的Android语音识别功能,您需要安装/部署com.google.android.voicesearch apk程序包。
我不知道是否有正式的方法来获取这个包。 我只是在谷歌上搜索了apk文件。
使用adb install <apk-file>进行安装即可。
然后您就可以在Google Glass设备上使用Android的语音识别功能。
另一种方法是使用Google Glass的非常酷的功能,例如只需说“好的眼镜”即可激活语音识别功能。
但是,您必须对设备进行root并激活所谓的实验室功能。
本站是激活实验室功能的良好起点:glassxe 我自己还没有尝试过,但我打算尝试一下。

太好了,它可以与ICS VoiceSearch.apk一起使用,但不能与旧版本的Voicesearch.apks一起使用。 非常感谢您! - Amalan Dhananjayan
@AmalanDhananjayan 你在哪里找到ICS版本的VoiceSearch.apk?我只找到了2.1.4版本。我使用了VoiceSearch 2.1.4,但它总是返回空结果。 - Fanglin
@AmalanDhananjayan 不用在意,2.1.4 应该足够了。我没有将 miniSDK 更改为 15。 - Fanglin

5

需要注意的是,现在RecognizerIntent.ACTION_RECOGNIZE_SPEECH仅适用于Glass,并且不需要com.google.android.voicesearch包。如果您已经安装了它,请卸载并使用内置支持。


出现了一些奇怪的行为。我使用意图启动语音识别器,但它在说话之前立即返回。没有任何数据被返回... - Patrick Jackson
"RecognizerIntent"并不总是适用的... 我已经为SpeechRecognizer创建了一个问题/请求 https://code.google.com/p/google-glass-api/issues/detail?id=245 如果感兴趣,请点赞。 - JRomero
1
Tony Allevato非常感谢您的回答。如果我想通过Google Glass验证用户的语音,您会推荐哪种方法?【在Google Glass上进行语音认证】 - Siddiq Abu Bakkar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接