2

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

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

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.

ответ

-1

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

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

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

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



Также см этот вопрос: https://stackoverflow.com/a/10548680/3950422

+0

Спасибо за исправление. – bhansa

+0

Используйте разные коды ISO для разных языков ex: 'ja' для японского,' de' для Deutsche – bhansa