Android,百度,云知声tts总结

最近在做Android语音播报功能(TTS),现总结如下:(ps:demo代码地址:https://github.com/giserlong/TTS_DEMO)

一.Android原生接口

用Android原生接口TextToSpeech,简单易用,但是一般情况下不支持中文,需自己下载讯飞语音+ 等中文引擎,并设置为系统默认tts,方可正常播报中文,关键代码如下:

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_native); //初始化TTS tts = new TextToSpeech(this, this); //获取控件 speechText = (EditText)findViewById(R.id.speechTextView); speechButton = (Button)findViewById(R.id.speechButton); //为button添加监听 speechButton.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v){ // TODO Auto-generated method stub tts.speak(speechText.getText().toString(), TextToSpeech.QUEUE_FLUSH, null); } }); } @Override public void onInit(int status){ // 判断是否转化成功 if (status == TextToSpeech.SUCCESS){ //tts.getCurrentEngine(); //默认设定语言为中文,原生的android貌似不支持中文。 int result = tts.setLanguage(Locale.CHINA); if (result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED){ tts.setLanguage(Locale.US); Toast.makeText(this,"不支持中文,已自动设置为英文",Toast.LENGTH_SHORT).show(); Log.d("ss",""); }else{ Toast.makeText(this,"已自动设置为中文",Toast.LENGTH_SHORT).show(); Log.d("ss",""); } } }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyjyjy.html