Android SpeechRecognizer 只能在应用程序的主线程中使用
我正在尝试将一些 Android 语音 API 集成到我的基于 AndEngine 的游戏中。
我将代码放在 BaseGame 活动中 - 但是在运行时出现此错误:
05-06 23:51:28.955: ERROR/AndroidRuntime(553): java.lang.RuntimeException: SpeechRecognizer 应该仅从应用程序的主线程使用
如何做我访问应用程序主线程?我怎样才能确保我的语音代码在其中运行。
设置如下:
主类 - BaseGameActivity SpeechClass
主类实例化一个新的 SpeechClass + 调用其方法 - 然后我收到上述错误。
请告诉我如何正确地做到这一点。
I am trying to integrate some of Androids Speech APIS in my AndEngine based game.
I placed my code within the BaseGame activity - however this error appears at runtime:
05-06 23:51:28.955: ERROR/AndroidRuntime(553): java.lang.RuntimeException: SpeechRecognizer should be used only from the application's main thread
How do I access the applications main thread? And how can I ensure my Speech code runs in it.
The setup is as follows:
Main Class - BaseGameActivity
SpeechClass
Main Class instantiates a new SpeechClass + calls its method - then I get the above error.
Please advise on how I can do this correctly.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
通过执行以下操作在主线程上调用
SpeechClass
:这应该在主线程上运行它。如果
doSomething
需要一段时间,可能会减慢你的 UI 速度,但你可以解决这个问题。Call the
SpeechClass
on the main thread by doing something like this:That should run it on the main thread. Might slow your UI down if
doSomething
takes a while, but you get to work that out.