TTSTool
v1.0.4
基於訊飛離線語音SDK封裝快速實現TTS,支持設置男女聲。 由於科達訊飛離線語音體驗版有有效期問題,降低了SDK版本得以解決。目前還可以正常使用。
高版本Android會報21002錯誤,目前測試Android6.0以下使用正常,解決這個問題要升級sdk版本;
可以先運行demo,如果不崩潰,那應該可以正常使用。
allprojects {
repositories {
.. .
maven { url ' https://jitpack.io ' }
}
} //仅支持armeabi-v7a。
dependencies {
implementation ' com.github.shenbengit:TTSTool:Tag '
}AndroidManifest.xml中已添加,危險權限可能要自行處理。
<!--连接网络权限,用于执行云端语音能力 -->
< 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 " /> /* *
* 必须在主进程初始化
* @param context
* @param isFemaleVoice 是否是女声,true:女声,false:男声
* @param listener 初始化结果回调,成功:[ErrorCode.SUCCESS]
*/
TTSManager .getInstance(). init (context : Context , isFemaleVoice : Boolean = true , listener : InitListener ? = null )
/* *
* 开始合成
*/
TTSManager .getInstance().startSpeaking(text : String )
/* *
* 停止合成
*/
TTSManager .getInstance().stopSpeaking()
/* *
* 是否正在合成
*/
TTSManager .getInstance().isSpeaking()
/* *
* 销毁
*/
TTSManager .getInstance().destroy()
/* *
* 监听回调
*/
TTSManager .getInstance().setSpeechStatusListener(listener : SpeechStatusListener ? )
如果您使用Kotlin,同樣可以快捷調用
/* *
* 必须在主进程初始化
* @param context
* @param isFemaleVoice 是否是女声,true:女声,false:男声
*/
initTTS(context : Context , isFemaleVoice : Boolean = true , listener : InitListener ? = null )
/* *
* 开始合成
*/
startSpeaking(text : String )
/* *
* 停止合成
*/
stopSpeaking()
/* *
* 是否正在合成
*/
isSpeaking()
/* *
* 销毁
*/
destroyTTS()
/* *
* 监听回调
*/
setSpeechStatusListener(listener : TTSManager . SpeechStatusListener ? )
已添加混淆規則,一般情況不需要自行添加
-keep class com.iflytek.**{*;}
-keepattributes Signature