1

我只想制作一个问答式的应用程序,用于提问和展示问题。

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

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

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

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 小时内提交应用程序...

4

1 回答 1

0

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

于 2013-06-18T05:34:11.823 回答