我是这个网站的新手,但是已经从事开发人员很多年了(Delphi,PHP,Lazarus)。一年前,我开始在Android(Java-Eclipse)中进行开发,最近遇到了一个棘手的小问题。
我开发了一个使用“文字转语音”引擎的应用。它可以在我的HTC Sensation,我妻子的HTC Desire X上正常工作,也可以在我在Eclipse / AVD Manager中对其进行测试的两个Tablet Emulator上正常工作。
我最近将其安装在我的岳父联想IdeaPad(Android 4.1.1)上,但失败了。如果找不到安装的TTS引擎和自动安装程序,我会使用标准的(ish)检查。在IdeaPad上,它找不到已安装的(我已经检查过,那里是)英语TTS,而是启动了一个安装程序,可以选择安装法语,德语,西班牙语或意大利语的TTS引擎。这将向我暗示它以某种方式看到了英文版本,但没有使用它。
任何帮助将不胜感激。我已经在下面发布了代码的相关部分。
亲切的问候
加里
private TextToSpeech mTts;
private static final int MY_DATA_CHECK_CODE = 1234;
这里有更多我的应用代码
Intent checkIntent = new Intent();
checkIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);
startActivityForResult(checkIntent, MY_DATA_CHECK_CODE);
这里有更多我的应用代码
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
if (requestCode == MY_DATA_CHECK_CODE)
{
if (resultCode == TextToSpeech.Engine.CHECK_VOICE_DATA_PASS)
{
mTts = new TextToSpeech(this, null, Str);
}
else
{
Intent installIntent = new Intent();
installIntent.setAction(
TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA);
startActivity(installIntent);
}
}
}
最佳答案
Android 4.1中的TTS资源检查似乎存在一个错误。报告为issue 36430
我的经验是,TTS从Android 4.0升级到4.1后停止在Samsung S3上工作。上面引用的报告提供了解决方法的提示,但我尚未检查该解决方法。