最近项目需求,要在android里面实现语音转文字朗读,TTS,于是上网各种搜索,比较好的是android有自带原生的api可以直接使用,android.speech.tts.TextToSpeech。封装一个java类方便使用,代码如下:

package dione.healthclub;import android.content.Context;import android.speech.tts.TextToSpeech;import android.util.Log;import android.widget.Toast;import java.util.Locale;public class AJTextToSpeech implements TextToSpeech.OnInitListener {    private Context mContext;    private TextToSpeech mTTS;    public  AJTextToSpeech(Context context){        mContext = context;        mTTS = new TextToSpeech(mContext,this);    }    public boolean speak(final String text){        Log.d("dione","speak text:"+text);        // 设置音调,值越大声音越尖(女生),值越小则变成男声,1.0是常规        mTTS.setPitch(1.0f);        // 设置语速        mTTS.setSpeechRate(1.0f);        //播放语音        int ret = mTTS.speak(text,TextToSpeech.QUEUE_ADD,null);        if(ret == 0) {            Toast.makeText(mContext, "文字转语音成功...", Toast.LENGTH_SHORT).show();            return true;        }        else {            Toast.makeText(mContext, "文字转语音错误...", Toast.LENGTH_SHORT).show();            return false;        }    }    @Override    public void onInit(int status) {        // 判断是否转化成功        if (status == TextToSpeech.SUCCESS){            //默认设定语言为中文,原生的android貌似不支持中文。            int result = mTTS.setLanguage(Locale.US);            if (result == TextToSpeech.LANG_MISSING_DATA || result == TextToSpeech.LANG_NOT_SUPPORTED){                Toast.makeText(mContext, "数据丢失或不支持..."+String.valueOf(result), Toast.LENGTH_SHORT).show();            }else{                //不支持中文就将语言设置为英文                mTTS.setLanguage(Locale.US);            }        }    }}
将该java加入到自己的工程基本上就可以实现英文的语音转文字朗读。

TextToSpeech mTTS = new TextToSpeech(Context,this);
mTTS.speak("TTS中文朗读");

两句话就可以使用了。

一般系统都没有带中文TTS,不安装语音插件的情况下是可以直接实现英文朗读。
使用中文朗读:将TTS讯飞语音包(底部地址下载)解压出来的两个apk安装到android系统里面,然后在设置 -- 语言和输入法--文字转语音TTS输出--选择科大讯飞语音。
按照如上操作后android系统就支持了中文语音朗读。

仅供学习参考,by Dione.

完整代码已经中文语音插件apk下载地址:https://download.csdn.net/download/u012532263/10885562

 

 

更多相关文章

  1. android 在TextView中显示EditText,通过Button按键,更改TextView
  2. android中textview控件中的文字的位置是如何调整的
  3. TextView中的文字添加阴影效果及Style的使用
  4. android带有文字的图片按钮的两种实现方式
  5. Android中文 API (31) ―― TimePicker
  6. android 2.3 r1 中文 api (58) ―― TabHost
  7. 【游戏语音技术开发互联网公司】android 主程
  8. Android TextView文字链接4中方法
  9. TextView 文字描边

随机推荐

  1. Android(安卓)中的ORM框架
  2. Android(安卓)Fragment+tabHost应用实战
  3. Android(安卓)使用GSM定位
  4. 如何通过网页打开Android(安卓)APP
  5. Android和J2ME按钮接口之简单对比
  6. Android7.0 系统启动流程---system_serve
  7. 如何使用android sdk开发应用
  8. 如何使Android应用程序获取系统权限来修
  9. android Canvas用法
  10. android传输视频到PC