Available Speech Recognition Languages

From what I read, speech recognition is available for 3 languages: English (UK, USA, Au ..), Japanese and Chinese (Mandarin).

Does anyone know more details on how to switch between these languages? Is there a way to find out (software) which language is active for speech recognition on a particular device? (maybe in Japan there are only Japanese ... but can I get this information somehow ... as property or something else?).

Any help in this regard would be greatly appreciated.

Thanks guys.

+3
source share
2 answers

, , , Locale.toString EXTRA_LANGAUGE ACTION_RECOGNIZE_SPEECH.

, , - :

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

LanguageDetailsChecker - BroadcastReceiver, :

public class LanguageDetailsChecker extends BroadcastReceiver {

    private static final String TAG = "LanguageDetailsChecker";

    private List<String> supportedLanguages;

    private String languagePreference;

    public LanguageDetailsChecker() {
        supportedLanguages = new ArrayList<String>();
    }

    @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);
        }
    }
}

.

+3

, android.speech.RecognizerIntent. , , getVoiceDetailsIntent().

API

0

Source: https://habr.com/ru/post/1744345/


All Articles