我在我的應用程序中有一個viewpager。當用戶向右/左滑動時,我使用TTS引擎說出文字和MediaPlayer播放聲音。TTS和播放聲音 - Android
問題是同時播放..一旦TTS引擎說文本結束,我該如何播放聲音?
P.S:我不想使用睡眠或等待。
更新:
這裏是我的代碼:
@SuppressLint("NewApi")
@SuppressWarnings("deprecation")
@Override
public void onInit(int status) {
if (status == TextToSpeech.SUCCESS) {
if (result == TextToSpeech.LANG_MISSING_DATA
|| result == TextToSpeech.LANG_NOT_SUPPORTED) {
} else {
//Do Something here
}
if(Build.VERSION.SDK_INT >= 15){
UtteranceProgressListener listener = new UtteranceProgressListener() {
@Override
public void onStart(String utteranceId) {
// TODO Auto-generated method stub
}
@Override
public void onError(String utteranceId) {
// TODO Auto-generated method stub
}
@Override
public void onDone(String utteranceId) {
// TODO Auto-generated method stub
//start MediaPlayer
playMedia(viewPager.getCurrentItem());
}
};
tts.setOnUtteranceProgressListener(listener);
}
else{
tts.setOnUtteranceCompletedListener(new OnUtteranceCompletedListener(){
@Override
public void onUtteranceCompleted(String arg0) {
playMedia(viewPager.getCurrentItem());
}
});
}
} else {
Intent installIntent = new Intent();
installIntent.setAction(TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA);
startActivity(installIntent);
}
}
您現在使用的是什麼代碼? – 2013-05-12 17:51:19