RecognitionListener in JellyBean Freezes if not spoken to immediately
Asked Answered
F

2

9

A speech-recognition based app I am working on works well on all versions of Android starting from API 8 (Android 2.2).

But on a Nexus S 4G (Android 4.1.1), RecognitionListener will simply halt for about 1 minute, then issue an ERROR_SERVER via its onError() callback.

If spoken to within 1-2 seconds (of that onReadyForSpeech bleep), it will behave properly as expected.

What changed in JellyBean that could explain this behavior?

More importantly, is there a way to make it behave like in the older versions of Android? (i.e. keep listening, then issue ERROR_SPEECH_TIMEOUT if not spoken to within the default 10 seconds)

Foxy answered 2/1, 2013 at 4:1 Comment(3)
This SNAFU of breaking backward compatibility sounds familiar... I recently came across a similar post, with no answer in sight. Maybe it's related to this? Good luck!Connive
Yes, this issue has been introduced in Jellybean. You should keep an eye on the linked post, as it has a 100 point bounty on it.Necolenecro
See my work around including muting the beep sound at #14941157Writeoff
F
1

I ended up using the solution suggested by @scriptocalypse

Thank you @scriptocalypse!

(I haven't had the chance to try the solution suggested by @HoanNguyen because it implements a service which is beyond the scope of my tiny app, but it looks promising. Thank you @HoanNguyen, too.)

Foxy answered 25/3, 2013 at 19:30 Comment(0)
D
-2

There is a similar post here that offers the suggestion of simply listening again up on receiving ERROR_TIMEOUT_SPEECH result.

Doggy answered 8/1, 2013 at 21:5 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.