2013-06-24 14 views
6

Chciałbym zaimplementować przycisk, który po kliknięciu aktywowałby mowę androida na translator tekstu, taki jak ten dostarczony przez klawiaturę androida. W szczególności chciałbym przycisk, który miałby aplikacja transkrypcji, co użytkownik mówi w czasie rzeczywistym, i nagrać go słowo po słowie (w czasie rzeczywistym) w polu editText. Jaki byłby najlepszy sposób robienia tego?Jak aktywować mowę na tekst za pomocą przycisku?

Dzięki

Odpowiedz

2

Jeśli jeszcze tego nie sprawdził próbkę Voice Recognition w swojej Api demos, należy iść dalej i sprawdzić. To powinno dać ci przewagę. Wersje demonstracyjne są dostępne w folderze /android-sdk/samples/.... Jeśli ich nie zainstalowałeś, oto w jaki sposób możesz how to install android api demo app into my phone.

Istnieją następujące (dowolny wiele innych) Samouczek oraz które pomogą Ci rozpocząć:

1) Android Voice Recognition Tutorial

2) Android: Speech To Text using API

następstwie może być dobrym przeczytać również:

Add Text-To-Speech and Speech Recognition to Your Android Applications i Using the Android Speech Recognition APIs.

Mam nadzieję, że to pomoże.

+0

Dzięki, będę spojrzeć na nich. –

+0

ŁADNE! # 2 całkowicie dla mnie pracował. Zabawne, ponieważ w naszej klawiaturze telefonu z Androidem jest już ikona mikrofonu aktywowanego głosem. Kiedy klikniesz w "EditText" w aplikacji, na przykład, jeśli klikniesz ikonę mikrofonu na klawiaturze, automatycznie zacznie dyktować twój głos na "EditText". Nie wymaga żadnego kodu! Jednak nie wszyscy o tym wiedzą, a wyjaśnienie tego w zdaniu byłoby niezręczne w małych granicach interfejsu, więc ta metoda działa dobrze! Dzięki! – Azurespot

0

W swojej aplikacji zadzwonisz pod numer startActivityForResult(), korzystając z czynności ACTION_RECOGNIZE_SPEECH. Spowoduje to rozpoczęcie działania rozpoznawania mowy, a następnie można obsłużyć wynik w postaci onActivityResult().

private static final int SPEECH_REQUEST_CODE = 0; 

// Create an intent that can start the Speech Recognizer activity 
private void displaySpeechRecognizer() { 
    Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); 
    intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, 
      RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); 
// Start the activity, the intent will be populated with the speech text 
    startActivityForResult(intent, SPEECH_REQUEST_CODE); 
} 

// This callback is invoked when the Speech Recognizer returns. 
// This is where you process the intent and extract the speech text from the intent. 
@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); 
     // Do something with spokenText 
    } 
    super.onActivityResult(requestCode, resultCode, data); 
} 

Więcej informacji można znaleźć w reference

Powiązane problemy