首先呢有几种集成的方法,比如第三方讯飞,Medplay,androd自带的TextToSpeech...
我使用的是第三种安卓自带的,使用起来非常的简单
1.直接导入android.speech.tts.TextToSpeech
//定义一个tts对象
private
TextToSpeech tts;
2.自定义类实现OnLnitListener
接口重写onInit
方法
onInit()方法中主要是是对tts
对象进行初始化,设置一下语言,判断文字是否转换成功以及当前系统是否支持该语言
@Override
public
void
onInit(
int
status){
// 判断是否转化成功
if
(status == TextToSpeech.SUCCESS){
//默认设定语言为中文,原生的android貌似不支持中文。
int
result = tts.setLanguage(Locale.CHINESE);
if
(result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED){
Toast.makeText(MainActivity.
this
, R.string.notAvailable, Toast.LENGTH_SHORT).show();
}
else
{
//不支持中文就将语言设置为英文
tts.setLanguage(Locale.US);
}
}
}
3.最后,只要在合适的时候调用tts转文字到语音的方法即可.
tts.speak(
"需要转化的文字"
, TextToSpeech.QUEUE_FLUSH,
null
);
好啦就是这么简单,使用起来非常的方便!