Android中文TTS语音合成
程序员文章站
2022-04-30 09:24:58
...
Android系统提供了5中语言的语音合成German,English,Spanish,French,Italian支持,其中不包括对中文的支持,但是Android系统允许第三方提供中文的TTS支持,因此我们只需要安装一款合适的第三方TTS应用,在系统中设置一下即可。
提供TTS的工具也有好几个,其实我们不必纠结选哪个,目前最好用的是”讯飞语音+“,语音流畅度很好,可选语速,而且该软件还在不断更新中。对于有些Android 4.0后的系统在设置中可能检查不到讯飞的TTS选项,只需要安装最新版的讯飞语音+即可。
之后只需调用系统提供的TextToSpeech类并实现相应的接口即可。
这里做了一个简单的语音合成控制类,只要创建一个对象,就可以直接将文本进行语音合成播放了。
代码如下:
package cn.com.bfyb;
import java.util.Locale;
import android.content.Context;
import android.speech.tts.TextToSpeech;
import android.widget.Toast;
public class TextSpeaker {
private Context context;
private TextToSpeech tts;
public TextSpeaker(final Context context) {
// TODO Auto-generated constructor stub
this.context = context;
tts = new TextToSpeech(context, new TextToSpeech.OnInitListener() {
@Override
public void onInit(int status) {
// TODO Auto-generated method stub
if (status == TextToSpeech.SUCCESS)
{
int result = tts.setLanguage(Locale.CHINA);
if (result == TextToSpeech.LANG_MISSING_DATA
|| result == TextToSpeech.LANG_NOT_SUPPORTED)
{
Toast.makeText(context, "Language is not available.",
Toast.LENGTH_SHORT).show();
}
}
}
});
}
public void speak(String text) {
tts.speak(text, TextToSpeech.QUEUE_FLUSH, null);
}
}
代码下载地址:http://pan.baidu.com/s/1gdtErQF
讯飞语音+官网下载:http://open.voicecloud.cn/speechservice
上一篇: Android语音播报商家收款及相关TTS语音文件合成
下一篇: 大众点评cat监控系统