我是Android开发中的菜鸟。
我正在使用TextToSpeech,它在几个平台上运行良好,除了一个特定的手机(运行android 4.4.2)。
TTS的实例化给出了空指针异常:
private TextToSpeech mTTS;
// ...
mTTS = new TextToSpeech(this, mTTSInitListener);
使用的Sdk版本是指定的最小值:19(据我所知,TTS是在API级别4中添加的(因此是Android 1.6)
android {
compileSdkVersion 21
buildToolsVersion '27.0.3'
defaultConfig {
minSdkVersion 19
targetSdkVersion 21
applicationId "myapp"
versionCode 73
versionName "1.1.0"
问题是:什么可以使TTS不可用/不可实例化?
THX
答案 0 :(得分:0)
首先,您应该检查设备是否能够使用TTS。 如下代码:
Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, "en-US");
try {
startActivityForResult(intent, Constant.SEARCH_VOICE);
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
} catch (ActivityNotFoundException a) {
Toast t = Toast.makeText(mContext, getResources().getString(R.string.speech_error), Toast.LENGTH_SHORT);
t.show();
}