1

我是这个网站的新手,但已经做了多年的开发人员(Delphi、PHP、Lazarus)。一年前,我开始使用 Android(Java - Eclipse)进行开发,最近遇到了一个棘手的小问题。

我开发了一个使用文本到语音引擎的应用程序。它在我的 HTC Sensation、我妻子的 HTC Desire X 上运行良好,在我在 Eclipse/AVD Manager 中测试过的两个平板电脑模拟器上运行良好。

我最近将它安装在我的岳父联想 IdeaPad(Android 4.1.1)上,但它失败了。如果找不到,我会使用标准(ish)检查已安装的 TTS 引擎和自动安装程序。在 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);
        }
    }
}
4

1 回答 1

2

Android 4.1 中的 TTS 资源检查似乎存在错误。这被报告为问题 36430

我的经验是 TTS 从 Android 4.0 升级到 4.1 后停止在三星 S3 上工作。上面引用的报告给出了解决方法的提示,但我还没有检查解决方法。

于 2013-01-04T10:22:38.323 回答