android - 如何在android上设置语音识别中的语言?

标签 android speech-recognition

我一直在研究 android 中的语音识别 API,发现更改语言设置时语音结果会有所不同,有没有办法以编程方式设置它?还是有意在语音语言设置屏幕上午餐?还是什么? 笔记: 我试图额外使用这个 Intent :

intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_PREFERENCE, "en-US");

但是没有效果

最佳答案

正如 pargat 所说,这样就可以了:

intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, "en-US");

此外,您的应用可以通过发送 RecognizerIntent.ACTION_GET_LANGUAGE_DETAILS 有序广播来查询支持的语言列表,如下所示:

    Intent detailsIntent =  new Intent(RecognizerIntent.ACTION_GET_LANGUAGE_DETAILS);
    sendOrderedBroadcast(
            detailsIntent, null, new LanguageDetailsChecker(), null, Activity.RESULT_OK, null, null);

LanguageDetailsChecker 是这样的:

public class LanguageDetailsChecker extends BroadcastReceiver
{
    private List<String> supportedLanguages;

    private String languagePreference;

    @Override
    public void onReceive(Context context, Intent intent)
    {
        Bundle results = getResultExtras(true);
        if (results.containsKey(RecognizerIntent.EXTRA_LANGUAGE_PREFERENCE))
        {
            languagePreference =
                    results.getString(RecognizerIntent.EXTRA_LANGUAGE_PREFERENCE);
        }
        if (results.containsKey(RecognizerIntent.EXTRA_SUPPORTED_LANGUAGES))
        {
            supportedLanguages =
                    results.getStringArrayList(
                            RecognizerIntent.EXTRA_SUPPORTED_LANGUAGES);
        }
    }
}

有关完整代码,请查看此 github 项目: https://github.com/gast-lib

关于android - 如何在android上设置语音识别中的语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10538791/

相关文章:

android - 使用 Android 创建索引颜色 PNG

ios - 带标点符号的语音识别

android - 如何制作跳跃标尺

android - 使用 openweathermap api 的每小时天气预报

java - 首选项 fragment 在交易中返回 null

c# - 录制语音,直到用户停止讲话?

java - HTML5 初学者。我想要一个 Speech-Box 来运行 Java 程序

安卓应用程序 : how to display resultset in Listview?

python - Python 中的 Azure 认知语音翻译服务的自定义音频输入字节

android - 处理 RecognitionListener 错误