復(fù)制下面代碼直接放到activity里面,XXX代表當(dāng)前activity的名稱。如果在那個(gè)要播報(bào)語(yǔ)音,只需要在哪里調(diào)用play()就行,調(diào)用之前要給SpackStr賦值需要播報(bào)的內(nèi)容
private TextToSpeech tts;
private String SpackStr;
private void play() {
tts = new TextToSpeech(this,new XXXX.listener());
}
private class listener implements TextToSpeech.OnInitListener {
@Override
public void onInit(int status) {
if (status == TextToSpeech.SUCCESS) {
//設(shè)置播放語(yǔ)言
int result = tts.setLanguage(Locale.CHINESE);
tts.setPitch(2.0f);
if (result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED) {
} else if (result == TextToSpeech.LANG_AVAILABLE) {
tts.speak(SpackStr, TextToSpeech.QUEUE_ADD, null);
}
} else {
Log.e("TAG", "初始化失敗");
}
}
public void stopTTS() {
if (tts != null) {
tts.shutdown();
tts.stop();
tts = null;
}
}
}