[Feat]新增支持多语言的TTS

[Feat]新增支持多语言的TTS
This commit is contained in:
chenfufeng
2023-02-24 14:11:40 +08:00
parent 5d378b833b
commit 1e7b13f151
19 changed files with 564 additions and 2 deletions

View File

@@ -6,6 +6,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
import com.mogo.eagle.core.utilcode.util.ToastUtils;
import com.mogo.tts.base.IMogoTTS;
import com.mogo.tts.base.IMogoTTSCallback;
import com.mogo.tts.base.MultiLangTtsEntity;
import com.mogo.tts.base.PreemptType;
/**
@@ -52,7 +53,9 @@ public class AIAssist {
private AIAssist(Context context) {
try {
// 暂时换成反射,解决死锁问题
// TODO:("支持切换思必驰和科大讯飞")
Class<?> clazz = Class.forName("com.mogo.tts.pad.PadTTS");
// Class<?> clazz = Class.forName("com.mogo.tts.iflytek.IFlyTekTts");
mTTS = (IMogoTTS) clazz.getConstructor().newInstance();
mTTS.init(context);
// mTTS = (IMogoTTS) ARouter.getInstance().build(MogoTTSConstants.API_PATH).navigation(context.getApplicationContext());
@@ -122,6 +125,18 @@ public class AIAssist {
}
}
/**
* 支持多语言的Tts
* @param ttsEntity: 多语言Entity
* @param level: 等级由低到高为0、1、2、3分别对应p3、p2、p1、p0
* @param callback
*/
public void speakMultiLangTTSWithLevel(MultiLangTtsEntity ttsEntity, int level, IMogoTTSCallback callback) {
if (mTTS != null) {
mTTS.speakMultiLangTTSWithLevel(ttsEntity, level, callback);
}
}
/**
* 语音播报
*