[6.3.0][Feat]新增语音合成开始播放的回调事件

This commit is contained in:
chenfufeng
2024-03-18 16:09:13 +08:00
parent 3d8fb545f5
commit 7efd1f02ec
4 changed files with 23 additions and 2 deletions

View File

@@ -63,6 +63,9 @@ interface IMogoTTSCallback {
default void onCmdCancel( String speakText ) {
}
default void onSpeakStart( String speakText ) {
}
/**
* 语音播报完毕
*

View File

@@ -288,7 +288,17 @@ class IFlyTekTts : IMogoTTS, InitListener {
private val ttsListener = object : SynthesizerListener {
override fun onSpeakBegin() {
if (Thread.currentThread() == Looper.getMainLooper().thread) {
curTtsEntity?.let {
speakVoiceMap[it.toString()]?.onSpeakStart(it.toString())
}
} else {
UiThreadHandler.post {
curTtsEntity?.let {
speakVoiceMap[it.toString()]?.onSpeakStart(it.toString())
}
}
}
}
override fun onBufferProgress(p0: Int, p1: Int, p2: Int, p3: String?) {

View File

@@ -747,6 +747,10 @@ public class PadTTS implements IMogoTTS, VoiceClient.VoiceCmdCallBack {
@Override
public void onReady(String s) {
CallerLogger.d(TAG, "开始播放");
IMogoTTSCallback callBack = mSpeakVoiceMap.get(s);
if (callBack != null) {
callBack.onSpeakStart(s);
}
}
@Override

View File

@@ -154,7 +154,11 @@ public class ZhiTTS implements IMogoTTS, OnTtsListener {
}
ZDTtsManager.getInstance().speak(text, getZhiLevel(ttsLevel), new ITtsListener() {
@Override
public void onTtsStart(String s, String s1) throws RemoteException {}
public void onTtsStart(String s, String s1) throws RemoteException {
if (callBack != null) {
callBack.onSpeakStart(s);
}
}
@Override
public void onTtsFinish(String s, String s1) throws RemoteException {