Es erkennt schnell TTS basierend auf IFlytek Offline Voice SDK -Paket und unterstützt die Einstellung männlicher und weiblicher Stimmen. Da die Iflytek -Offline -Voice -Erlebnisversion ein Problem mit der Gültigkeitsdauer hat, wurde die SDK -Version so reduziert, dass sie gelöst werden. Es ist immer noch für den normalen Gebrauch erhältlich.
Die höhere Version von Android meldet 21002 Fehler. Derzeit wird der Test nach unten Android 6.0 normal verwendet. Um dieses Problem zu lösen, müssen Sie die SDK -Version aktualisieren.
Sie können die Demo zuerst ausführen, und wenn sie nicht abstürzt, sollte sie normal funktionieren.
allprojects {
repositories {
.. .
maven { url ' https://jitpack.io ' }
}
} //仅支持armeabi-v7a。
dependencies {
implementation ' com.github.shenbengit:TTSTool:Tag '
}AndroidManifest.xml wurde hinzugefügt, gefährliche Berechtigungen müssen möglicherweise selbst behandelt werden.
<!--连接网络权限,用于执行云端语音能力 -->
< 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 ? )
Wenn Sie Kotlin verwenden, können Sie es auch schnell nennen
/* *
* 必须在主进程初始化
* @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 ? )
Verschleierung Regeln wurden hinzugefügt, die im Allgemeinen nicht selbst hinzugefügt werden müssen
-keep class com.iflytek.**{*;}
-keepattributes Signature