Android Speech Recognition Service much slower on

2019-02-19 08:39发布

I have a service that is implementing RecognitionListener (like this: Android Speech Recognition as a service on Android 4.1 & 4.2) where I have to override onBufferReceived(byte[]) method. I was investigating why the speech recognition is much slower to call onResults() on <=ICS . The only difference I could find was that onBufferReceived is called on phones <= ICS. On JellyBean the onBufferReceived() is never called and onResults() is called significantly faster and I'm thinking its because of the overhead to call onBufferReceived every second or millisecond. Has any one else run into this and is there a workaround?

UPDATE

  1. The phone I tested on above is 2.2.2 (LG)

  2. I tested another phone running Android 2.2.1(Samsung) and I'm seeing the same issue.

  3. An HTC Evo running 2.33 is faster than 1 & 2 above but still significantly slower than my HTC One running Jellybean 4.3

All are using a wifi connection.

It seems in the slow cases, the Google server just takes much longer to call onResults() --- I'm thinking it has to be a Android version issue as it appears Google has sped this process up with each newer Android release.

0条回答
登录 后发表回答