2017-02-08 1 views
1

Ich bin neu bei Android und versuche, eine Android-Anwendung mit Sprache zu Text zu bauen. Ich folge dem Tutorial http://www.androidhive.info/2014/07/android-speech-to-text-tutorial/.Wie kann ich die Sprachaufnahme automatisch beenden, nachdem die Person in Android nicht mehr spricht?

Wenn ich auf die Schaltfläche "mic" klicke, beginnt die Aufnahme, stoppt jedoch erst nach 20 Sekunden und stoppt nicht wie bei Google Now. Wie kann ich das erreichen?

Der Sprachaufzeichnungsteil ist:

private void promptSpeechInput() { 
    Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH); 
    intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, 
      RecognizerIntent.LANGUAGE_MODEL_FREE_FORM); 
    intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, Locale.getDefault()); 
    intent.putExtra(RecognizerIntent.EXTRA_PROMPT, 
      getString(R.string.speech_prompt)); 
    try { 
    startActivityForResult(intent, REQ_CODE_SPEECH_INPUT); 
    } catch (ActivityNotFoundException a) { 
    Toast.makeText(getApplicationContext(), 
       getString(R.string.speech_not_supported), 
       Toast.LENGTH_SHORT).show(); 
    } 
} 

Antwort

1

Try EXTRA_SPEECH_INPUT_COMPLETE_SILENCE_LENGTH_MILLIS auf die Absicht hinzufügen. Damit wird angegeben, wie viele Millisekunden Stille erforderlich sind, damit die Eingabe als erledigt angesehen wird.

Verwandte Themen