通过语音启动语音识别,例如“Ok Google”?

2024-01-14

我正在构建一个使用语音命令来执行某些功能的应用程序。我得到了一些代码here http://developer.android.com/training/wearables/apps/voice.html

private static final int SPEECH_REQUEST_CODE = 0;

// Create an intent that can start the Speech Recognizer activity
private void displaySpeechRecognizer() {
    Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
    intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
            RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
// Start the activity, the intent will be populated with the speech text
    startActivityForResult(intent, SPEECH_REQUEST_CODE);
}

// This callback is invoked when the Speech Recognizer returns.
// This is where you process the intent and extract the speech text from the intent.
@Override
protected void onActivityResult(int requestCode, int resultCode,
        Intent data) {
    if (requestCode == SPEECH_REQUEST_CODE && resultCode == RESULT_OK) {
        List<String> results = data.getStringArrayListExtra(
                RecognizerIntent.EXTRA_RESULTS);
        String spokenText = results.get(0);
        // Do something with spokenText
    }
    super.onActivityResult(requestCode, resultCode, data);
}

然而,这种方法需要通过单击按钮来激活。有没有办法也通过语音命令启动语音识别器?就像 Google Now 一样,您只需说“Ok Google”,然后它就会打开语音识别器活动并监听命令?

Thanks.


您将需要编写一个用于连续语音识别的服务。并根据您在语音时获得的输入检测您的触发短语并采取行动。

这可能会占用大量内存,您需要通过在适当的时间和屏幕上启动和停止服务来进行优化。

接受的答案这个问题 https://stackoverflow.com/questions/18039429/android-speech-recognition-continuous-service提供了一种实现类似目标的方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过语音启动语音识别,例如“Ok Google”? 的相关文章

  • Monodroid JavaScript 接口

    Monodroid 尚未原生支持 JavaScriptInterface 与 WebView 我正在寻找可用于此解决方法的示例 java 文件 IntPtr JavaScriptInterface Class JNIEnv FindClas
  • Android 更改适配器中的数据

    我将此适配器用于我的 ListView Appadapter extends ArrayAdapter
  • 无法捕获 java.lang.VerifyError

    我收到此错误 未捕获的处理程序 由于未捕获的异常 java lang VerifyError 线程主线程退出 它只发生在 1 6 上 Android 2 0 及以上版本没有任何问题 但这是最重要的 我无法捕获错误 异常 VerifyErro
  • 在 PushSharp 4.0 中构建 GCM 消息

    我对如何使用 PushSharp 构建 GCM 推送通知的消息正文感到有些困惑 GitHub 存储库中的文档和测试文件显示的消息结构如下 broker QueueNotification new GcmNotification Regist
  • 如何取消/取消订阅协程 Flow

    当我尝试提前取消流程时 我注意到一个奇怪的行为 看一下下面的例子 这是一个发出整数值的简单流程 private fun createFlow flow repeat 10000 emit it 然后我打电话给createFlow使用此代码的
  • LoaderManager 不接受“这个”

    好吧 我投降 我想不明白 我正在学习 Udacity 的 Android 基础知识课程 需要了解如何使用加载器加载数据 但是 当我使用以下行时 this 以红色突出显示并显示以下错误 Wrong 3rd argument type Foun
  • onCheckedChanged 自动调用

    我在回收器视图中有一个开关 从数据库检索数据后 数据显示在回收器视图中 当回收器视图打开时 我读取数据库 如果数据库中的字段为 Y 我启用开关 否则禁用开关 现在的问题是 onCheckedchanged 监听器也被调用 我希望仅当用户手动
  • 谷歌地图返回空指针异常

    当我尝试在片段上显示地图时 它返回空指针异常 我已将所有内容添加到清单中的每个权限中 我正在附加片段文件 XML 文件和日志目录 Chatffragment java public class ChatFragment extends Fr
  • Android 上默认安装哪些字体? [复制]

    这个问题在这里已经有答案了 Android 设备上默认安装哪些字体 我知道关于机器人字体 http www droidfonts com and Roboto https developer android com design style
  • 如何在Android中设置音频均衡器

    我正在制作一个媒体播放器 其中需要使用 搜索栏 将均衡器效果设置为 低音 可怕 摇滚 流行 中 我得到了一个链接 其中使用了一些 NDK 库来执行此操作 是否有任何 Java 库可以执行此操作 请解释执行此操作的逻辑是什么 Override
  • 动画片段和返回堆栈

    我在使用或理解如何弹出时遇到问题 后台堆栈中的 FragmentTransactions 处理自定义 动画 具体来说 我希望它能够调用 out 动画 但是 看来不是 我有一个简单的方法来处理片段事务 FragmentTransaction
  • 当搜索栏改变大小时,Android v2 版 Google 地图上的圆圈会闪烁

    我正在按照此方法实现一种在 Android 中的 Google 地图 v2 上显示搜索半径的方法 Method for drawing a circle around the user private void drawMapSearchR
  • 如何在没有 EasyTracker 的情况下停止 Android 版 Google 移动分析 v2 中的会话

    我已经阅读了 GoogleAnalytics v2 网站上的文档 我基本上阅读了来自https developers google com analytics devguides https developers google com an
  • Gradle 从服务器收到状态代码 403:禁止

    由于这个错误 我无法构建我的 android 项目 Gradle 无法获取https www jitpack io com github Raizlabs DBFlow dbflow 3 1 1 dbflow 3 1 1 pom https
  • 错误:当我添加新的依赖项时,我的项目中的任务“:app:dexDebug”错误执行失败

    我没有在我的项目 在 libs 中 中添加任何库 jar 仅添加此依赖项 我的 build gradle 文件 android compileSdkVersion 23 buildToolsVersion 23 0 1 defaultCon
  • 当我从片段调用它时,我的接口类不起作用

    我正在尝试在我的项目中实现此代码 但不起作用RecyclerView 如何捕获ImageView上的onClick https stackoverflow com questions 33264042 recyclerview how to
  • Pre-Lollipop 设备上 ImageButton 的高度效果

    我正在尝试为 ImageButton 应用海拔效果 它在我运行 Android 5 0 的 Nexus 平板电脑上运行良好 但在 Lollipop 之前的设备上无法运行 尝试了 ViewCompat setElevation view va
  • 在 SQLite 中加密数据

    如何加密我的数据 就我研究的解决方案而言 有两种方法 使用android提供的算法加密数据 我使用android提供的 Cipher 来加密我的数据 但我在检索大量记录的数据时遇到问题 导致应用程序的性能显着降低 我对整个数据库进行了编码
  • Android 折叠工具栏在折叠时没有隐藏其他元素

    我在 Android 上有一个布局 支持设计折叠工具栏 其中包含 TextView 但是当我折叠工具栏时 一些带有工具栏标题的 TextView 我想隐藏所有其他内容 而不是工具栏和标题 这是我的布局
  • 在 Android 时间选择器小部件中删除 AM/PM

    有什么办法可以去除AM PM in a Time Picker Widget 我的应用程序中有此功能 但其目的是仅选择小时和分钟 不包括上午 下午 我尝试setIs24HourView true 但时间是24小时 我只想要12小时 似乎没有

随机推荐