2014-05-19 55 views
1

我有一個簡單的應用程序,可以說話。Android:說話失敗:不會綁定到tts引擎

的一件事情是,我得到這個錯誤的logcat:

TextToSpeech Sucessfully bound to com.ivona.tts 
TextToSpeech speak failed : not bound to TTS engine 

我加什麼特別的Android清單,你有什麼打算?

代碼

import java.util.Locale; 

import android.app.Activity; 
import android.os.Bundle; 
import android.speech.tts.TextToSpeech; 
import android.speech.tts.TextToSpeech.OnInitListener; 
import android.util.Log; 

public class Main extends Activity implements OnInitListener{ 

TextToSpeech tts; 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    tts = new TextToSpeech(this, this); 

    tts.speak("Hello World", TextToSpeech.QUEUE_FLUSH, null);  
} 

@Override 
protected void onDestroy() { 
    MyTTS.release(); 
    super.onDestroy(); 
} 

@Override 
public void onInit(int status) { 
    if (status == TextToSpeech.SUCCESS) { 
     tts.setLanguage(Locale.getDefault()); 
    } else { 
     Log.e("TTS", "Initialization failed"); 
    } 

} 

} 

我不知道爲什麼會發生錯誤。 任何人都可以幫助我嗎? 預先感謝

編輯:我不想把說法放在onInit方法裏面。我該怎麼做 ?

回答

2

只能讓發動機說話,OnInit的完成後,所以做以下的OnInit中():

if (status == TextToSpeech.SUCCESS) { 
    tts.speak("Hello World", TextToSpeech.QUEUE_FLUSH, null);  

    }