Мне было интересно, что я работаю над Android-приложением, в котором MediaPlayer/TextToSpeech используется, чтобы сообщить пользователю что-то, а затем объект распознавания речи открывается после завершения MediaPlayer/TextToSpeech, а другой воспроизводится после ответа на вопрос с распознаванием , Проблема в том, что я не на 100% уверен в том или ином способе, чтобы отложить распознавание речи от открытия сразу после запуска MediaPlayer или до тех пор, пока не появится медиаплеер до открытия распознавания речи. Я вижу несколько вариантов, основанных на моих собственных знаниях/Google -Выполнение кода после воспроизведения MediaPlayer?
Используйте методы isPlaying (MediaPlayer)/isSpeaking (TextToSpeech) и помещайте их в какой-то цикл, чтобы проверить, пока они больше не верны, затем откройте распознавание речи.
Позвоните в Thread.sleep(). Проблема, которую я вижу в этом, заключается в том, что я не уверен точно, как долго пользователь будет говорить, поэтому он все равно может быть прерван, если я не поставил его на первое время, которое просто замедляет приложение.
Я занимаюсь исследованиями и играю с классом Handler немного, но не полностью понял, как это сделать ... кому-нибудь помочь?
Благодарим за это! –