android:声音合成之TTS

一、简介

android开发中还是需要播放许多音效,有些音效是以文字存在的。在android系统中集成了TTS(TextToSpeech),可以识别文字合成语音。今天道长分享一下TTS的简单使用。

二、TTS的使用

  • TTS的初始化
    代码如下:
        //初始化TTS
        tts = new TextToSpeech(this, this);

并实现OnInitListener接口重写onInit()方法,代码如下:

    @Override
    public void onInit(int status){
        //判断tts回调是否成功
        if (status == TextToSpeech.SUCCESS) {
            int result1 = tts.setLanguage(Locale.US);
            int result2 = tts.setLanguage(Locale.CHINESE);
            if (result1 == TextToSpeech.LANG_MISSING_DATA || result1 == TextToSpeech.LANG_NOT_SUPPORTED
                    || result2 == TextToSpeech.LANG_MISSING_DATA || result2 == TextToSpeech.LANG_NOT_SUPPORTED){
                Toast.makeText(this, "数据丢失或不支持", Toast.LENGTH_SHORT).show();
            }
        }
    }
  • TTS的使用
    TTS的使用很简单,代码如下:
    public void play(){
        String str = speechText.getText().toString().trim();
        if (!TextUtils.isEmpty(str)){
            // 设置音调,值越大声音越尖(女生),值越小则变成男声,1.0是常规
            tts.setPitch(0.1f);
            // 设置语速
            tts.setSpeechRate(0.8f);
            //播放语音
            tts.speak(str, TextToSpeech.QUEUE_FLUSH, null);
        }
    }

android集成的TTS合成的是电子音,音调僵硬,用户体验很差。如果需要使用TTS就需要第三方的TTS,合成语音比较悦耳。但是之前做的科大讯飞已经不是免费接入了。现在云知声做的也不错,虽然比科大讯飞稍逊一筹,但是云知声是免费的。关于TTS道长就简单分享到这里,希望对你有一些帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值