Я склонен говорить, что это может быть несоответствием в поведении службы распознавания, возможно, даже ошибкой в используемой вами версии Android. Однако в документации говорится, что не гарантируется, что этот метод вызывается, поэтому он будет соответствовать спецификации. До сих пор я заметил следующее (на Android 2.3.4): я получаю байты во время записи, но если, например, есть SocketTimeout
, он пытается отправить данные на сервер через некоторое время, но без вызова onBufferReceived
снова для тех же данных. Код, который использовался для тестирования, был таким же, как и тот, который вы указали при публикации.
Как вы думаете, почему некоторые фрагменты отсутствуют в аудио, которое вы получили в методе? Если бы отсутствовали только несколько фрагментов, это могло бы быть даже так, что распознавание работало, хотя эти фрагменты отсутствовали.