From 2d6a9d02c77d7e08d4f18ee87d6e3d337b949f47 Mon Sep 17 00:00:00 2001
From: yy1717 <fctom1215@outlook.com>
Date: 星期四, 20 八月 2020 19:35:17 +0800
Subject: [PATCH] 坐标
---
lib/src/main/cpp/native-lib.cpp | 21 +++++++++++++++++++--
1 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/lib/src/main/cpp/native-lib.cpp b/lib/src/main/cpp/native-lib.cpp
index 70aa448..5204dd3 100644
--- a/lib/src/main/cpp/native-lib.cpp
+++ b/lib/src/main/cpp/native-lib.cpp
@@ -3,6 +3,7 @@
#include <pthread.h>
#include <unistd.h>
#include <cstdlib>
+#include <map>
#include "common/serial_port.h"
#include "jni_log.h"
#include "common/net.h"
@@ -34,6 +35,8 @@
static int ttsSeq = 1;
static void SendBootIndicate(union sigval sig);
+
+static std::map<int, void (*)(int)> TTSCallBack;
int DESEncrypt(const uint8_t *key, int key_length,
const uint8_t *plaintext, int plaintext_length,
@@ -210,7 +213,7 @@
return seq;
}
-int PlayTTS(const char *string)
+int PlayTTS(const char *string, void (*callback)(int))
{
DEBUG("PlayTTS: %s", string);
@@ -242,6 +245,8 @@
LOGE("%s: DetachCurrentThread() failed", __FUNCTION__);
}
}
+
+ TTSCallBack.insert(pair<int, void (*)(int)>(id, callback));
return id;
}
@@ -314,5 +319,17 @@
JNIEXPORT void JNICALL
Java_com_anyun_exam_lib_RemoteService_TextSpeakEnd(JNIEnv *env, jobject thiz, jint id) {
// TODO: implement TextSpeakEnd()
- PlatformStatusChanged(PLAY_TTS_DONE_EVT, (uint8_t *)&id, sizeof(id));
+
+ auto it = TTSCallBack.find(id);
+
+ if (it != TTSCallBack.end()) {
+ if (it->second != NULL) {
+ tts_back_t tb;
+
+ tb.seq = id;
+ tb.callback = (void (*)(int)) it->second;
+ PlatformStatusChanged(PLAY_TTS_DONE_EVT, (uint8_t *)&tb, sizeof(tb));
+ }
+ TTSCallBack.erase(it);
+ }
}
--
Gitblit v1.8.0