Поиск Google Voice происходит со значительной задержкой с момента его вызова с помощью startActivityForResult () до отображения его диалогового окна, готового принять вашу речь.
Это требует от пользователя всегда смотреть наэкран, ожидая отображения диалогового окна, прежде чем говорить.
Итак, я думал о генерации звукового сигнала вместо диалогового окна путем реализации RecognitionListener и звучания тона DTMF в onReadyForSpeech (), как показано нижефрагмент:
@Override
public void onReadyForSpeech(Bundle params) {
Log.d(LCTAG, "Called when the endpointer is ready for the user to start speaking.");
mToneGenerator.startTone(ToneGenerator.TONE_DTMF_1);
try {
Thread.sleep(50);
} catch (InterruptedException e) {
Log.e(LCTAG, "InterruptedException while in Thread.sleep(50).");
e.printStackTrace();
} // SystemClock.sleep(50);
mToneGenerator.stopTone();
}
Звук звучит прекрасно, но ... он также "слышен" микрофоном, поступая в службу распознавания голоса и всегда , генерируя ошибку распознавания ERROR_NO_MATCH .
Есть ли способ обойти это?