Как изменить язык распознавания речи в Android Wear

Я хочу реализовать распознавание речи по ключевым словам, используя RecognizerIntent и пользовательский интерфейс износа Android по умолчанию.

Проблема в том, что я не могу сменить язык по умолчанию, на котором слушает Android Wear Wear. Я хочу распознавать только английские слова из-за ошибок распознавания и не хочу менять язык телефона по умолчанию. Я делаю что-то вроде этого:

private void displaySpeechRecognizer() {

    Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
    intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
    intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, "en-US");
    startActivityForResult(intent, SPEECH_REQUEST_CODE);
}

@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);
        mTextView.setText(spokenText);
        if (spokenText.contains("KeyWord")) {
            Vibrator vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE);
            long[] vibrationPattern = {0, 500, 50, 300};
            //-1 - don't repeat
            final int indexInPatternToRepeat = -1;
            vibrator.vibrate(vibrationPattern, indexInPatternToRepeat);
        }
        // Do something with spokenText
    }
    super.onActivityResult(requestCode, resultCode, data);
}

Это решение работает, но дает мне не английский результат тоже. Распознавание речи осуществляется с помощью Android Wear Watch.

1 ответ

Извините, но я не использовал RecognizerIntent так что я могу просто дать предложение, может быть, он может сделать свое дело.

НО, вы не можете переключать язык распознавания в процессе. Запустите приложение поиска Google. Идти к
Настройки-Языки и проверьте испанский и английский языки там. после этого нажмите и удерживайте на испанском языке, а затем сохранить.

Вы также можете попробовать использовать теги es или fr, как вы использовали en-USдля английского это также может работать.
Но вы должны использовать en_US вместо en-US,

Это заставит ваше устройство Android распознавать испанский язык по умолчанию. Для лучшего понимания вы можете посетить сайт разработчиков Android: http://developer.android.com/reference/android/speech/RecognizerIntent.html



Также смотрите этот вопрос: /questions/32072065/kak-ustanovit-yazyik-raspoznavaniya-rechi-na-androide/32072076#32072076

Другие вопросы по тегам