Google Glass中应用的语音命令?

时间:2013-11-20 05:18:51

标签: android google-glass google-gdk

我开发了一款在谷歌眼镜上运行的Android应用程序。我用adb运行它。是否可以配置一个语音命令,以便我可以通过说“Ok GLASS”+“My Command”来触发它?

4 个答案:

答案 0 :(得分:7)

更新 - 在XE16更新后,以下方法不起作用,新解决方案在此Why is my voice command missing from the ok glass menu in XE16?

你要做的是,

  1. 在清单文件中,在您要在语音命令上触发的服务下添加这些标记。

    <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/voice_trigger_start" />
    
  2. 您必须在res中创建一个名为xml的文件夹,并添加一个名为voice_trigger_start.xml的xml文件。

  3. 在里面添加这些行

    <?xml version="1.0" encoding="utf-8"?>
    <trigger keyword="@string/its_me_amalan" />
    
  4. 打开res文件夹中的values文件夹并修改strings.xml,这样看起来就像这样

    <resources>
        <string name="app_name">Amalan</string>
        <string name="its_me_amalan">Hello Amalan</string>
        <string name="stop">Stop</string>
    </resources>
    
  5. 现在将应用程序安装到Glass上并说“ ok glass,Hello Amalan ”并打开应用程序。

    参考:http://pathofacoder.com/2013/11/20/google-glass-adding-your-own-voice-commands-to-your-apps/

答案 1 :(得分:2)

昨天,Google发布了XE12固件更新,这让我们遇到了所有自定义启动器的问题。 Launcher2.apk和Launchy都停止了为我工作,所以作为一种解决方法我实现了一个方法,这也是你的问题的一个很好的答案。请查看此页面http://divingintoglass.blogspot.com/

答案 2 :(得分:0)

我为此次提交中使用GDK开发的Glassware应用程序执行了此操作: https://github.com/luisdelarosa/HelloGlass/commit/c5038ed2ff019306becb32211354358833b6fafc

以下是该提交的步骤:

修改AndroidManifest.xml以在要通过语音启动的活动或服务中添加VoiceTrigger意图。请注意,您也可以选择删除Launcher intent,因为Glass不使用传统的Android。

<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/glass_voice_trigger" />

添加VoiceTrigger意图引用的VoiceTrigger XML,其中应包含您希望用户激活您的应用的字符串。在这种情况下,我们将其称为res / xml / glass_voice_trigger.xml

<?xml version="1.0" encoding="utf-8"?>
<trigger keyword="@string/glass_voice_trigger"/>

(可选)将上一步中的字符串放入strings.xml文件中。 (您也可以将该字符串硬编码到VoiceTrigger XML中作为触发节点的关键字属性的值。)在这种情况下,它位于res / values / strings.xml,我们的触发器是“打招呼”。将此字符串替换为您希望用户说出启动应用程序的任何内容。

<string name="glass_voice_trigger">say hello</string>

答案 3 :(得分:-1)

不要忘记自XE16以来使用许可:

<uses-permission android:name="com.google.android.glass.permission.DEVELOPMENT" />