我是这个网站的新手,但是已经从事开发人员很多年了(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上工作。上面引用的报告提供了解决方法的提示,但我尚未检查该解决方法。

10-07 19:25
查看更多