Android使用TextToSpeech(TTS)实现文字转语音合成播放

一、目前安卓平台的文字转语音有两种方案

1、百度、讯飞等sdk

        优点:声音丰富,不需其他插件

        缺点:收费,导入调用麻烦,增加apk体积

2、TextToSpeech

        优点:免费,调用方便,几行代码即可,无需导sdk

        缺点:声音单一,需要安装引擎

二、TextToSpeech的简单使用

    lateinit var textToSpeech: TextToSpeech

    fun initTTS(){
        textToSpeech = TextToSpeech(mContext) {
            when (it) {
                TextToSpeech.SUCCESS -> {}//成功
                TextToSpeech.ERROR -> {}//失败
            }
        }
        //引擎列表
        val engineList = textToSpeech.engines
        //当前默认引擎
        val engine = textToSpeech.defaultEngine
        //语言
        textToSpeech.language = Locale.CHINESE
        //语调 越大越高
        textToSpeech.setPitch(0.9f)
        //语速 越大越快
        textToSpeech.setSpeechRate(1f)
    }

    fun speak(text:String){
        val result = textToSpeech.speak(text, TextToSpeech.QUEUE_FLUSH, null, null)
    }

语音引擎可以在系统设置-语言与输入法-语音技术/TTS,或无障碍中查看,没有的话安装一个就可以,不同的引擎的语速、语调、音色都不一样。

引擎下载参考:

GitHub - IT-Talon/TtsTest: 文字转语音输出,以及一些常用引擎安装包

Android文字转语音引擎(TTS)简单比较及下载_yingchengyou的博客-CSDN博客_tts语音引擎

你可能感兴趣的:(android,kotlin,TTS,语音识别,人工智能,android)