W Androidzie 4.1 można uzyskać konwersję mowy w czasie rzeczywistym na tekst za pomocą opcji mikrofonu na keyboard.W jaki sposób korzystasz z mowy Androida na tekst w czasie rzeczywistym?
Przeglądałem dokumentację dla android.speech próbując dowiedzieć się, jak zaimplementować mowę w czasie rzeczywistym do tekstu dla aplikacji. Jednak jedyną opcją, która to ułatwi, jest opcja "EXTRA_PARTIAL_RESULTS" (którą serwer ignoruje za każdym razem, gdy próbuję jej użyć).
Kod:
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL,
RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
intent.putExtra(RecognizerIntent.EXTRA_CALLING_PACKAGE, "VoiceIME");
intent.putExtra(RecognizerIntent.EXTRA_PARTIAL_RESULTS, true);
intent.putExtra(RecognizerIntent.EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS, 3000L);
mSpeaker.startListening(intent);
nigdy nie powraca częściowych wyników.
Wiem, że jest to możliwe, ponieważ klawiatura działa konsekwentnie. Ktoś wie jak?
co masz na myśli „preselekcji” ikonę mikrofonu? czy istnieje sposób, aby to zrobić programowo? – Patrick
możesz spróbować znaleźć właściwy klucz w interfejsach IME i wystukać "dotknięcie" na klawiszu, który jest przykryty mikrofonem. Nie korzystałem z tego podejścia, ponieważ o wiele łatwiej było po prostu wyświetlić klawiaturę i czekać, aż użytkownik dotknie klawisza mikrofonu. może również zrobić: getSpeechRecognizer(). StartListening (SpeechRecognizer.createSpeechRecognizer (this)); –
Nie wydaje się możliwe bez poważnego hakowania ... Interfejs IME jest dostępny tylko dla systemu, więc nie sądzę, aby możliwe było pobranie wystąpienia IME z aplikacji. Używam programu speechRec, po prostu nie jest możliwe rozszerzanie głosowo-tekstowy za pomocą klawiatury. – Patrick