Android的Text-to-speech正在重启方法(),哪个不应该?

时间:2013-06-18 05:12:59

标签: android text-to-speech

我只是想提出一个问答类型的应用程序来询问问题&所示。

我正在使用Android的默认文本到语音引擎,而不是媒体播放器(除了tts PLZ我别无选择......)。我正在初始化tts&在mainmethod中使用它(“switchingLogic()”)。

现在,我的问题是:第一个问题的声音应该在活动开始时播放。但是如果我将SWITCHINGLOGIC()放在onCreate()中,则不会播放该声音。所以,我已经放置了它在tts的onInit()中,所需的输出即将到来,但“当屏幕被锁定并且未解锁时,它将从第一个问题开始。”

现在,只有当应用程序进入后台或手机自动锁定时,如何让我的应用程序从那里开始。

public void playQuestions(String sound) {
    tts.speak(sound, TextToSpeech.QUEUE_FLUSH, null);
}



public void switchingLogic() {
playQuestion(item.getSounds(1));
--------------------
--------------------
}
@Override
public void onInit(int arg0) {
    // TODO Auto-generated method stub
    if (arg0 == TextToSpeech.SUCCESS) {
        Log.d("Yes", "SUCCESS");
        switchingLogic();
    }
}

灾难性的情况请帮助我,这是新问题&想在10个小时内提交应用程序......

1 个答案:

答案 0 :(得分:0)

这种情况正在发生,因为android只支持前台中的一个线程,因此当您锁定屏幕并解锁时,您的应用程序将转到后台,应用程序的当前状态将丢失...因为您已经使用了 playQuestion(item.getSounds(1));
它使你的应用程序再次打开并从第一个问题开始。