完成动画切换

This commit is contained in:
xsl
2025-11-30 12:22:43 +08:00
parent 835f768a4a
commit 634d22f3be
4 changed files with 57 additions and 34 deletions
+13 -7
View File
@@ -82,7 +82,7 @@ void android_main(struct android_app *pApp) {
auto frameTime = end_time - last_update_time;
last_update_time = end_time;
auto function_time = (end_time - start_time);
aout << "function_time:" << function_time << " fps:" << (1000/frameTime) << std::endl;
//aout << "function_time:" << function_time << " fps:" << (1000/frameTime) << std::endl;
if(function_time < 35)
{
this_thread::sleep_for(chrono::milliseconds((35-function_time)));
@@ -246,7 +246,18 @@ extern "C"
JNIEXPORT jstring JNICALL
Java_com_hmwl_face_1sdk_FaceActivity_PreReadAction(JNIEnv *env, jobject thiz, jstring motion,
jobject callback) {
g_callback = env->NewGlobalRef(callback);
// 清理旧的全局引用
if (g_callback != nullptr) {
env->DeleteGlobalRef(g_callback);
g_callback = nullptr;
}
// 保存新的回调
if (callback != nullptr) {
g_callback = env->NewGlobalRef(callback);
} else {
g_callback = nullptr;
}
const char *nativeString = env->GetStringUTFChars(motion, nullptr);
jsize len = env->GetStringUTFLength(motion);
@@ -254,12 +265,7 @@ Java_com_hmwl_face_1sdk_FaceActivity_PreReadAction(JNIEnv *env, jobject thiz, js
{
aout << "ArgLen to long:" << len << std::endl;
}
if(g_Application->isInited())
{
g_Application->changeMotion(nativeString);
}
// TODO: implement PreReadAction()
std::string ret = g_Application->preReadyMotion(nativeString, CppCallback);
return env->NewStringUTF(ret.c_str());
}