android 文字转语音进行播报

首先呢有几种集成的方法,比如第三方讯飞,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); 

好啦就是这么简单,使用起来非常的方便!

你可能感兴趣的:(android 文字转语音进行播报)