一、简介
android开发中还是需要播放许多音效,有些音效是以文字存在的。在android系统中集成了TTS(TextToSpeech),可以识别文字合成语音。今天道长分享一下TTS的简单使用。
二、TTS的使用
- TTS的初始化
代码如下:
//初始化TTS
tts = new TextToSpeech(this, this);
并实现OnInitListener接口重写onInit()方法,代码如下:
@Override
public void onInit(int status){
//判断tts回调是否成功
if (status == TextToSpeech.SUCCESS) {
int result1 = tts.setLanguage(Locale.US);
int result2 = tts.setLanguage(Locale.CHINESE);
if (result1 == TextToSpeech.LANG_MISSING_DATA || result1 == TextToSpeech.LANG_NOT_SUPPORTED
|| result2 == TextToSpeech.LANG_MISSING_DATA || result2 == TextToSpeech.LANG_NOT_SUPPORTED){
Toast.makeText(this, "数据丢失或不支持", Toast.LENGTH_SHORT).show();
}
}
}
- TTS的使用
TTS的使用很简单,代码如下:
public void play(){
String str = speechText.getText().toString().trim();
if (!TextUtils.isEmpty(str)){
// 设置音调,值越大声音越尖(女生),值越小则变成男声,1.0是常规
tts.setPitch(0.1f);
// 设置语速
tts.setSpeechRate(0.8f);
//播放语音
tts.speak(str, TextToSpeech.QUEUE_FLUSH, null);
}
}
android集成的TTS合成的是电子音,音调僵硬,用户体验很差。如果需要使用TTS就需要第三方的TTS,合成语音比较悦耳。但是之前做的科大讯飞已经不是免费接入了。现在云知声做的也不错,虽然比科大讯飞稍逊一筹,但是云知声是免费的。关于TTS道长就简单分享到这里,希望对你有一些帮助。