# TTSTool **Repository Path**: qq714081644/TTSTool ## Basic Information - **Project Name**: TTSTool - **Description**: 科大讯飞离线语音,Text to Speech,TTS - **Primary Language**: Kotlin - **License**: MIT - **Default Branch**: master - **Homepage**: https://github.com/shenbengit/TTSTool - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2021-06-08 - **Last Updated**: 2022-06-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: Android, TTS ## README # TTSTool 基于[讯飞离线语音SDK](https://www.xfyun.cn/doc/tts/online_tts/Android-SDK.html)封装快速实现TTS,支持设置男女声。 由于科达讯飞离线语音体验版有有效期问题,降低了SDK版本得以解决。目前还可以正常使用。 ## 注意事项: > 高版本Android会报[21002](https://www.xfyun.cn/document/error-code?code=21002)错误,目前测试**Android6.0**以下使用正常,解决这个问题要升级sdk版本; > 可以先运行demo,如果不崩溃,那应该可以正常使用。 ## 引入 ### 将JitPack存储库添加到您的项目中(项目根目录下build.gradle文件) ```gradle allprojects { repositories { ... maven { url 'https://jitpack.io' } } } ``` ### 添加依赖 [![](https://jitpack.io/v/shenbengit/TTSTool.svg)](https://jitpack.io/#shenbengit/TTSTool) ```gradle //仅支持armeabi-v7a。 dependencies { implementation 'com.github.shenbengit:TTSTool:Tag' } ``` ### 需要使用的用户权限 > AndroidManifest.xml中已添加,危险权限可能要自行处理。 ```xml ``` ## 使用示例 ```kotlin /** * 必须在主进程初始化 * @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,同样可以快捷调用 ```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?) ``` ## proguard-rules.pro > 已添加混淆规则,一般情况不需要自行添加 ```xml -keep class com.iflytek.**{*;} -keepattributes Signature ``` # [License](https://github.com/shenbengit/TTSTool/blob/master/LICENSE)