在我的应用中,实例化TextToSpeech后(根据LogCat约为800ms),我很好地调用了TextToSpeech.getLanguage(),尽管系统正确地在TextToSpeech设置中正确设置了语言,但有时(并非总是)返回null:
System Settings > Language & input >
Text-to-speech output > Google Text-to-speech > English (United Kingdom)
这仅在Jelly Bean(Android 4.1.1 )中发生。
在Android 2.2中不会发生这种情况。
这是一个已知的Android错误吗?
还是我做错了什么?
我在应用程序的主要 Activity 中实例化BTW和TextToSpeech:
new TextToSpeech(this, this);
实例化和对TextToSpeech.getLanguage()的调用都在同一线程中进行(因此可以保证调用顺序)。
最佳答案
您必须在onInit()中调用getLanguage(),有时要花几秒钟的时间才能调用onInit()。
关于android - 为什么有时TextToSpeech.getLanguage()返回null?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18477656/