项目开发需要用到文字转语音
的功能,利用 Android 系统自带的Text-to-Speech
可以实现英文转语音
,但是对于中文就无能为力了。对于中文转语音需要特定引擎的支持,谷歌自带的Pico TTS
是不支持的,我的小米手机是度秘语音引擎
支持中文,显然我们没法去控制用户用什么手机,所以抛弃原生的TTS
,考虑接入讯飞语音SDK
。
注册开发者账号
进入讯飞开放平台注册账号。
创建应用
登录账号,进入控制台
,选择创建新应用
。
下载SDK
点击SDK下载
。选择下载服务、平台、应用,然后点击下载。
我这里只选择了在线语音合成,免费的。
然后得到SDK:
集成SDK
首先将对应手机CPU平台的 so 文件
导入到工程中,jar 包导入到 libs 中。
在 Application 中初始化讯飞语音:
1 | SpeechUtility.createUtility(this, SpeechConstant.APPID +"=xxxxxxxx"); |
在调用的地方初始化语音对象:
1 | private SpeechSynthesizer mTts; |
然后调用API:
1 | int code = mTts.startSpeaking("Hello 中国"); |
过程比较简单,稍微记录一下,更多详情可以参阅官方文档。