From 4d625b8f7d4eb22209dba53cf19353d8aa7455ea Mon Sep 17 00:00:00 2001
From: fctom1215 <fctom1215@outlook.com>
Date: 星期二, 10 三月 2020 17:47:13 +0800
Subject: [PATCH] 修改TTS播放。
---
lib/src/main/java/com/anyun/exam/lib/util/Speaker.java | 33 +++++++++++++++++++++++++++++++--
1 files changed, 31 insertions(+), 2 deletions(-)
diff --git a/lib/src/main/java/com/anyun/exam/lib/util/Speaker.java b/lib/src/main/java/com/anyun/exam/lib/util/Speaker.java
index 8a7c738..dfbea00 100644
--- a/lib/src/main/java/com/anyun/exam/lib/util/Speaker.java
+++ b/lib/src/main/java/com/anyun/exam/lib/util/Speaker.java
@@ -2,6 +2,7 @@
import android.content.Context;
import android.speech.tts.TextToSpeech;
+import android.speech.tts.UtteranceProgressListener;
import android.util.Log;
import com.anyun.exam.lib.RemoteService;
@@ -11,13 +12,16 @@
public class Speaker {
private Context context;
private TextToSpeech tts;
+ private SpeakerCallback callback = null;
final public String TAG = Speaker.class.getCanonicalName();
- public Speaker(final Context context) {
+ public Speaker(final Context context, final SpeakerCallback cb) {
// TODO Auto-generated constructor stub
Log.d(TAG, "Speaker Init...");
this.context = context;
+ this.callback = cb;
+
tts = new TextToSpeech(context, new TextToSpeech.OnInitListener() {
@Override
public void onInit(int status) {
@@ -34,13 +38,38 @@
{
Log.d(TAG, "TextToSpeech.LANG_NOT_SUPPORTED");
}
+ if (callback != null) {
+ callback.PlayInit(true);
+ }
+ }
+ }
+ });
+
+ tts.setOnUtteranceProgressListener(new UtteranceProgressListener() {
+ @Override
+ public void onStart(String s) {
+ if (callback != null) {
+ callback.PlayStart();
+ }
+ }
+
+ @Override
+ public void onDone(String s) {
+ if (callback != null) {
+ callback.PlayDone();
+ }
+ }
+
+ @Override
+ public void onError(String s) {
+ if (callback != null) {
+ callback.PlayError();
}
}
});
}
public void speak(String text) {
- Log.d(TAG, "SPEAK");
// tts.speak(text, TextToSpeech.QUEUE_FLUSH, null);
tts.speak(text, TextToSpeech.QUEUE_ADD, null, "speech");
}
--
Gitblit v1.8.0