最近用到了TTS播报的功能,简单封装一下,以此记录。
实现TextToSpeech.OnInitListener接口,重写onInit方法。
直接贴代码
public class MTTSDemo implements TextToSpeech.OnInitListener {
private TextToSpeech mTTS;
private Context mContext;
public MTTSDemo(Context mContext) {
this.mContext = mContext;
//监听器就直接传入本类
this.mTTS = new TextToSpeech(mContext, this);
}
/**
* 初始化
*
* @param status
*/
@Override
public void onInit(int status) {
//判断是否转化成功
if (status == TextToSpeech.SUCCESS) {
//设置语言为中文
int languageCode = mTTS.setLanguage(Locale.CHINESE);
//判断是否支持这种语言,Android原生不支持中文,使用科大讯飞的tts引擎就可以了
if (languageCode == TextToSpeech.LANG_NOT_SUPPORTED) {
Log.d("TAG", "onInit: 不支持这种语言");
} else {
//不支持就改成英文
mTTS.setLanguage(Locale.US);