From 7efd1f02ec7b6a9f60841926c5df5a67626210d8 Mon Sep 17 00:00:00 2001 From: chenfufeng Date: Mon, 18 Mar 2024 16:09:13 +0800 Subject: [PATCH] =?UTF-8?q?[6.3.0][Feat]=E6=96=B0=E5=A2=9E=E8=AF=AD?= =?UTF-8?q?=E9=9F=B3=E5=90=88=E6=88=90=E5=BC=80=E5=A7=8B=E6=92=AD=E6=94=BE?= =?UTF-8?q?=E7=9A=84=E5=9B=9E=E8=B0=83=E4=BA=8B=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mogo/tts/base/IMogoTTSCallback.java | 3 +++ .../src/main/java/com/mogo/tts/iflytek/IFlyTekTts.kt | 12 +++++++++++- .../src/main/java/com/mogo/tts/pad/PadTTS.java | 4 ++++ .../src/main/java/com/mogo/tts/pad/ZhiTTS.java | 6 +++++- 4 files changed, 23 insertions(+), 2 deletions(-) diff --git a/tts/tts-base/src/main/java/com/mogo/tts/base/IMogoTTSCallback.java b/tts/tts-base/src/main/java/com/mogo/tts/base/IMogoTTSCallback.java index e9cecafb98..7f6d964542 100644 --- a/tts/tts-base/src/main/java/com/mogo/tts/base/IMogoTTSCallback.java +++ b/tts/tts-base/src/main/java/com/mogo/tts/base/IMogoTTSCallback.java @@ -63,6 +63,9 @@ interface IMogoTTSCallback { default void onCmdCancel( String speakText ) { } + default void onSpeakStart( String speakText ) { + } + /** * 语音播报完毕 * diff --git a/tts/tts-iflytek/src/main/java/com/mogo/tts/iflytek/IFlyTekTts.kt b/tts/tts-iflytek/src/main/java/com/mogo/tts/iflytek/IFlyTekTts.kt index 91a16feebb..ddcc785d84 100644 --- a/tts/tts-iflytek/src/main/java/com/mogo/tts/iflytek/IFlyTekTts.kt +++ b/tts/tts-iflytek/src/main/java/com/mogo/tts/iflytek/IFlyTekTts.kt @@ -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?) { diff --git a/tts/tts-pad/src/main/java/com/mogo/tts/pad/PadTTS.java b/tts/tts-pad/src/main/java/com/mogo/tts/pad/PadTTS.java index 5a6e57490f..2933b97357 100644 --- a/tts/tts-pad/src/main/java/com/mogo/tts/pad/PadTTS.java +++ b/tts/tts-pad/src/main/java/com/mogo/tts/pad/PadTTS.java @@ -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 diff --git a/tts/tts-zhi/src/main/java/com/mogo/tts/pad/ZhiTTS.java b/tts/tts-zhi/src/main/java/com/mogo/tts/pad/ZhiTTS.java index f22ac83b28..23c28df39f 100644 --- a/tts/tts-zhi/src/main/java/com/mogo/tts/pad/ZhiTTS.java +++ b/tts/tts-zhi/src/main/java/com/mogo/tts/pad/ZhiTTS.java @@ -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 {