1. 实现方式说明
本文采用两种方式集成,一是Activity集成,播放的时候需要跳转到新的Activity;二是直接在模块里面集成语音合成需要的相关代码,可以理解为用js代码请求,用adroid代码播放。 第二种是第一种方式的升级,也是在开发中发现可以不用Activity也可以实现。开发中学习了一些安卓的知识,也比较有意思,故把两种实现方式都放出来。
2. 需求场景
需求是将一个长文本切分成多份,实时的播报出来,腾讯云的流式语音合成可以很好的实现需求。如果直接生成长文本的语音,需要等待腾讯的回调,客户端无法即时的知道是否已经生成完毕;而使用流式语音合成,传入文本参数后,就可以实时播报。
腾讯云对于长文本语音合成的说明:
支持长文本语音合成、实时语音合成、基础语音合成三种合成方式。长文本语音合成与基础语音合成为非流式,整个文本合成语音后再下发,长文本语音合成可以一次性合成较长文本,适合阅读播报、新闻媒体等场景。流式语音合成(实时语音合成)为一边合成声音,一边下发声音,适合语音机器人等实时性要求较高的场景。
3. 安卓集成
3.1. 说明
腾讯云提供了一个官方的demo,官方demo可以直接运行,为了能够快速的集成tts实现需求, 决定将tt功能放到activity里,需要使用的时候,调起activity。官方demo里面的activity是LongTextTtsActivity ,我们直接使用即可,下面
|