Android Speech Recognition Service much slower on <= Ice Cream Sandwhich

我与影子孤独终老i 提交于 2019-12-01 08:04:32

问题


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.

来源:https://stackoverflow.com/questions/21424723/android-speech-recognition-service-much-slower-on-ice-cream-sandwhich

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!