最近用到了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*/@Overridepublic 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);}}}/*** 播报方法,需要传入播报的内容** @param text 播报的内容*/public void speak(String text) {//设置音调,值越大声音越尖(女生),值越小则变成男声,1.0是常规mTTS.setPitch(1.0f);//设置语速mTTS.setSpeechRate(1.0f);mTTS.speak(text, TextToSpeech.QUEUE_ADD, null);}/*** 销毁播报方法,直接调用*/public void stopTTS() {mTTS.stop();mTTS.shutdown();mTTS = null;}}
使用时直接实例化这个类的对象,然后调用方法即可
要想实现中文播报,需要用科大讯飞语音引擎
资源地址:/s/1bxcai3Quk5HoPRy2-a5b2g密码:密码:3si0
安装完成后,在设置 – 语言和输入法–文字转语音TTS输出–选择科大讯飞语音。
这个安装包安装完成后叫语音设置。
如果觉得《Android TTS 实现中文播报》对你有帮助,请点赞、收藏,并留下你的观点哦!