我刚刚开始为 Google Glass 开发,我知道 GDK 是否相当新,所以这可能还不可能,但这是我想要做的:
与“okay glass”屏幕上的“拨打电话”提示或“发送消息到”提示一样,我希望我的应用程序在您使用语音选择时具有更多语音选择选项。通过这两个示例,您将看到一个联系人列表,您可以上下点头以查看更多内容,并且该应用程序只会在您选择了显示的选项之一时采取进一步的行动。目前有什么方法可以在我自己的应用程序上做到这一点?
任何输入表示赞赏!
我刚刚开始为 Google Glass 开发,我知道 GDK 是否相当新,所以这可能还不可能,但这是我想要做的:
与“okay glass”屏幕上的“拨打电话”提示或“发送消息到”提示一样,我希望我的应用程序在您使用语音选择时具有更多语音选择选项。通过这两个示例,您将看到一个联系人列表,您可以上下点头以查看更多内容,并且该应用程序只会在您选择了显示的选项之一时采取进一步的行动。目前有什么方法可以在我自己的应用程序上做到这一点?
任何输入表示赞赏!
我从另一个看起来与您想要的完全一样的问题中找到了这个答案。我自己为自己的玻璃器皿尝试过,效果很好。正如下面的答案中提到的,需要注意的是,使用相同“ok glass”语音命令的其他应用程序将共享子菜单;例如,在以下示例中,某些其他应用程序可能会添加其他游戏,例如“高尔夫”。另一个潜在的问题是您必须在子菜单中为您想要的每个选项提供一个活动或服务。
“如果您在 Glass 上安装了多个具有相同语音触发意图过滤器的活动/服务,则当您说出该语音触发器时,它们的所有名称(基于或标签中的android:label
属性)将出现在消歧“子菜单”中。<activity>
<service>
AndroidManifest.xml
例如(假设res/xml/play_a_game_trigger.xml
代表字符串"play a game"的语音触发器):
<activity android:label="Tennis">
<intent-filter>
<action android:name="com.google.android.glass.action.VOICE_TRIGGER" />
</intent-filter>
<meta-data android:name="com.google.android.glass.VoiceTrigger"
android:resource="@xml/play_a_game_trigger" />
</activity>
<activity android:label="Bowling">
<intent-filter>
<action android:name="com.google.android.glass.action.VOICE_TRIGGER" />
</intent-filter>
<meta-data android:name="com.google.android.glass.VoiceTrigger"
android:resource="@xml/play_a_game_trigger" />
</activity>
会给你一个看起来像的语音菜单流程
ok glass → play a game → Tennis
Bowling
但是请注意,此菜单还包括来自其他使用相同语音触发器的 APK 的活动/服务。
您可以在 GDK 文档的语音输入页面找到更多详细信息。”
您可以在 Activity 开始后调用一个意图来显示语音识别器。因此,您可以在启动时触发语音并提示,然后在 Activity 的 onResume() 中调用语音识别器,并带有某种提示(或者您可以将收集到的初始语音串起来作为提示) :
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra( RecognizerIntent.EXTRA_PROMPT, "ok glass, here's my prompt" );
startActivityForResult(intent, 0);
然后,您需要一个 onActivityResult() 方法来处理 VoiceRecognizer 的返回。
这是 GDK 文档中的描述: https ://developers.google.com/glass/develop/gdk/input/voice
不知道有没有其他办法。
您是否在问是否可以向 Glass 添加语音命令来触发您的应用程序?如果是这样 - 绝对。事实上,这是在 GDK 上启动应用程序的建议方式。
有关详细信息,请参阅https://developers.google.com/glass/develop/gdk/input/voice#launching_glassware,但基本上你会
res/values/strings.xml
描述触发器和提示res/xml/<my_voice_trigger>.xml
使用字符串值作为关键字并设置输入提示的资源(顺便说一句,动词似乎是最好的语音触发器——它们更自然地与“ok, glass”菜单项一起流动。)
现在您可以使用框架 apis 在您的活动中显示一个好的玻璃菜单,查看此文档关于上下文语音命令
https://developers.google.com/glass/develop/gdk/voice#contextual_voice_commands