简介
Tts,文字转语音。把一段文字转换成语音输出,让我们听到。例如:叫号机、语音助手、导航软件。这些都是得到业务文本,再转换为语音输出。
使用
- 检查系统是否内置了Tts服务,设置>系统>语言和输入>Tts,如果语言下没有看到tts的话,可能是没有内置的Tts引擎(Settings代码如图)。我们安装一个就好啦。可以去网上找一个科大讯飞,或者google的tts引擎。
- 添加Tts使用权限
<queries>
<intent>
<action android:name="android.intent.action.TTS_SERVICE" />
</intent>
</queries>
3.简单实现
// Init Tts
fun main {
val tts = TextToSpeech(this, TextToSpeech.OnInitListener { status ->
if (status == TextToSpeech.SUCCESS) {
tts.setPitch(((0..30).random() / 10).toFloat())
val result = tts.setLanguage(Locale.CHINA)
if (result == TextToSpeech.LANG_MISSING_DATA ||
result == TextToSpeech.LANG_NOT_SUPPORTED) {
// 语言不支持
} else {
// 设置语言成功
}
} else {
// 初始化失败
}
})
}
fun textToSpeech(text: String) {
// p1 文字
// p2 插入的方式
// p3 Tts参数
// p4 当前这条的id
tts.speak(text, TextToSpeech.QUEUE_FLUSH, null, UUID.randomUUID().toString()
}
// 记得释放资源
override fun stop() {
tts.stop()
tts.shutdown()
}