其实安卓本身有tts(TextToSpeech),但不支持中文。。。于是转投了讯飞的怀抱。
流程:
1、注册讯飞
2、创建应用(不需要上传apk)
3、对应用添加服务(即,离线语音合成,30多天的免费体验)
4、下载SDK(里面包含添加的服务)
5、在Manifest中添加权限
6、复制下载的Msc.jar和Sunflower.jar到Libs文件夹中
7、在继承Application的类中初始化SpeechUnility
8、具体Activity中的代码
关于so包我这边没有添加貌似也没事。
下面具体聊聊
注册下载不聊了,从第五步开始,权限:
<!--科大讯飞-->
<!--连接网络权限,用于执行云端语音能力 -->
<uses-permission android:name="android.permission.INTERNET"/>
<!--获取手机录音机使用权限,听写、识别、语义理解需要用到此权限 -->
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<!--读取网络信息状态 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<!--获取当前wifi状态 -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<!--允许程序改变网络连接状态 -->
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
<!--读取手机信息权限 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<!--读取联系人权限,上传联系人需要用到此权限 -->
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<!--外存储写权限,构建语法需要用到此权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<!--外存储读权限,构建语法需要用到此权限 -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<!--配置权限,用来记录应用配置信息 -->
<!--<uses-permission android:name="android.permission.WRITE_SETTINGS"/>-->//这个会爆红,注释掉貌似也没事
<!--手机定位信息,用来为语义等功能提供定位,提供更精准的服务-->
<!--定位信息是敏感信息,可通过Setting.setLocationEnable(false)关闭定位请求 -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<!--如需使用人脸识别,还要添加:摄相头权限,拍照需要用到 -->
<uses-permission android:name="android.permission.CAMERA" />
第六步:
导so库的小伙伴注意了,不同的文件夹内libmsc.so虽然名字都一样,但是内容不一样,看大小就知道了。