TTS突然开始

时间:2014-05-03 14:52:26

标签: java android eclipse apk text-to-speech

我想让它在服务中工作。 所以现在它运作良好。但它有一个问题。 工作后,突然开始了。 我不确定我认为tts还没有完成。 但我不知道源头有什么不对。 请告诉我

听到的是代码。

public class servishuo1 extends Service implements TextToSpeech.OnInitListener {
private TextToSpeech mTts;

@Override
public IBinder onBind(Intent arg0) {
    return null;
}

@Override
public void onCreate() {

    super.onCreate();
}


@Override
public void onDestroy() {
    if (mTts != null) {
        mTts.stop();
        mTts.shutdown();
    }
    super.onDestroy();
}

@Override
public void onStart(Intent intent, int startId) {
    mTts = new TextToSpeech(this, this);
    speakOut();
}

@Override
public void onInit(int status) {
    if (status == TextToSpeech.SUCCESS) 
    {
        int result = mTts.setLanguage(Locale.US);
        if (result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED) 
        {
            Log.e("TTS", "This Language is not supported");
        } 
        speakOut();
    }
    else 
    {
        Log.e("TTS", "Initilization Failed!");
    }
    }
private void speakOut() {
    mTts.speak("hello", TextToSpeech.QUEUE_FLUSH, null);

}

}

1 个答案:

答案 0 :(得分:0)

您的代码中有一个错误:

mTts = new TextToSpeech(this, this);
speakOut();
^^^^^^^^^^^ <---  !!!

在使用TextToSpeech.SUCCESS调用onInit回调之前,不应该调用mTts.speak