文本到语音android无法正常工作

时间:2014-03-26 15:48:43

标签: android text-to-speech

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_game);
    init();
}

public void init() {
    tts = new TextToSpeech(Game.this, new OnInitListener() {
        public void onInit(int status) {
            if (status != TextToSpeech.ERROR) {
                 tts.setLanguage(Locale.US);
                 speakout("Hello Gies");
            }
        }
    });
}

public void speakout(String text) {
    tts.speak(text, TextToSpeech.QUEUE_FLUSH, null);
    tv2.setText("" + text);

}

@Override
protected void onPause() {
    if (tts != null) {
        tts.stop();
        tts.shutdown();
    }
    super.onPause();
}

代码运行正常。我试图将文本转换为语音,但我无法找到所需的输出。请帮我解决问题。 提前谢谢。

1 个答案:

答案 0 :(得分:2)

在成功调用onInit之前不应该使用tts引用,并且从代码中可以清楚地知道在创建TextToSpeech类之后调用speakout。将speakout("Hello Gies");移至onInit内。此外,如果您在onPause中关闭tts,那么最好在onResume中重新创建它 - 这意味着您实际上可以将init();移动到onResume