【问题标题】:Android offline speech recognition programmatically以编程方式进行 Android 离线语音识别
【发布时间】:2014-04-06 09:30:04
【问题描述】:

我想在我的应用程序中使用语音识别。从android jellybean开始我知道android系统支持离线语音识别(听写?)!

到目前为止,我只能通过内置键盘使用离线识别来输入内容,即按下键盘上的麦克风按钮然后说话,但这用途有限,因为用户每次都需要按下按钮并且它需要一个文本字段

我希望能够在程序需要时使用语音识别开始收听,并在识别完成时调用一些回调函数。 google的在线语音识别确实可以,但是我想用jellybean的离线识别来做。

我听说过像袖珍狮身人面像这样的第三方选项,但我想坚持使用内置识别器,因为根据我的经验,它非常高效且准确

有可能吗?如果是,那怎么办?

【问题讨论】:

标签: android offline speech


【解决方案1】:

我不确定这是否能回答您的问题,但根据我的经验,为了使用语音识别库,您应该在您的设备中下载语言包。

请参阅this site,了解有趣的教程以及如何下载语言包

例如,我的设备使用的是加泰罗尼亚语(没有可下载的加泰罗尼亚语包),但我可以强制库识别另一种语言,例如西班牙语。

private final static String FORCED_VOICE_LANGUAGE = "es-ES";

[...]

Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
        intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
                RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
        intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, FORCED_VOICE_LANGUAGE);
        intent.putExtra(RecognizerIntent.EXTRA_PROMPT, getString(R.string.speech_prompt));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多