Я разрабатываю Android Voice Assistant (с использованием Dialogflow
) и могу контролировать, когда пользователь запускает запрос.
@Override
public void onListeningStarted() {
ImageView fab_img = (ImageView)findViewById(R.id.fab_img);
fab_img.startAnimation(performAnimation);
}
И это запускает анимацию для значка микрофона,После этого, когда они заканчивают вопрос или речь, я могу использовать это, чтобы остановить анимацию.
@Override
public void onListeningFinished() {
ImageView fab_img = (ImageView)findViewById(R.id.fab_img);
fab_img.clearAnimation();
}
Но если пользователь не говорит, а микрофон просто закрывается через некоторое время, я 'Я не в состоянии обнаружить это.Я пытался с этим:
@Override
public void onListeningCanceled() {
}
Но это не работает, и с результатом запроса, но не повезло.Есть идеи?Спасибо.
РЕДАКТИРОВАТЬ ------ Предлагаемое решение @sunil sunny выглядит отлично
@Override
public void onAudioLevel(float level) {
}
Сейчас я работаю над тем количеством времени, которое необходимо уровню тишиныбыть произведенным.