Android 文字转语音播放实现

1,TextToSpeech类是android自带的,但是部分设备需要支持TTS需要增加语音库,我使用的是讯飞语音(离线的哦)。请自行下载并安装讯飞语音APK,然后到系统设置中设置TTS功能默认使用该选项。有自带TTS库的可以省略该步骤。

2,定义TTS对象

private TextToSpeech mTextToSpeech=null;

3,调用,每次调用都需要初始化

 try{
            final String strSpeekNow = strSpeek;
            mTextToSpeech=new TextToSpeech(this, new TextToSpeech.OnInitListener() {

                @Override
                public void onInit(int status) {
                    if (status==TextToSpeech.SUCCESS) {
                        //设置朗读语言
                        int supported=mTextToSpeech.setLanguage(Locale.CHINESE);
                        if ((supported!=TextToSpeech.LANG_AVAILABLE)&&(supported!=TextToSpeech.LANG_COUNTRY_AVAILABLE)) {
                            CardManager.toast(VerificationResultActivity.this, "不支持当前语言!");
                        }
                    }
                    //设置音调,值越大声音越尖(女生),值越小则变成男声,1.0是常规
                    mTextToSpeech.setPitch(1.0f);
                    //设置语速
                    mTextToSpeech.setSpeechRate(1.3f);
                    mTextToSpeech.speak(strSpeekNow, TextToSpeech.QUEUE_FLUSH, null, null);
                }
            });
        } catch (Exception e) {//语音播报出错
            Log.e("tts",e.toString());
           
        }

4,在onDestroy中关闭TTS

        if (mTextToSpeech!=null) {
            mTextToSpeech.shutdown();//关闭TTS
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值