From 921c4370e65d639e9200c9433472c0312eb62a3a Mon Sep 17 00:00:00 2001 From: Fangjun Kuang Date: Mon, 21 Apr 2025 23:07:16 +0800 Subject: [PATCH] Fix building for open harmonyOS (#2142) --- .../SherpaOnnxHar/sherpa_onnx/src/main/cpp/audio-tagging.cc | 3 ++- .../sherpa_onnx/src/main/cpp/speaker-identification.cc | 3 ++- harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/utils.cc | 4 +++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/audio-tagging.cc b/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/audio-tagging.cc index 249ea9d8..650bc598 100644 --- a/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/audio-tagging.cc +++ b/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/audio-tagging.cc @@ -196,7 +196,8 @@ static Napi::Object AudioTaggingComputeWrapper(const Napi::CallbackInfo &info) { Napi::Number::New(env, events[i]->index)); obj.Set(Napi::String::New(env, "prob"), Napi::Number::New(env, events[i]->prob)); - ans[i] = obj; + // ans[i] = obj; // see #2120 + ans.Set(i, obj); } SherpaOnnxAudioTaggingFreeResults(events); diff --git a/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/speaker-identification.cc b/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/speaker-identification.cc index 9aaf0c6c..c2965591 100644 --- a/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/speaker-identification.cc +++ b/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/speaker-identification.cc @@ -766,7 +766,8 @@ static Napi::Array SpeakerEmbeddingManagerGetAllSpeakersWrapper( Napi::Array ans = Napi::Array::New(env, num_speakers); for (uint32_t i = 0; i != num_speakers; ++i) { - ans[i] = Napi::String::New(env, all_speaker_names[i]); + // ans[i] = Napi::String::New(env, all_speaker_names[i]); // see #2120 + ans.Set(i, Napi::String::New(env, all_speaker_names[i])); } SherpaOnnxSpeakerEmbeddingManagerFreeAllSpeakers(all_speaker_names); return ans; diff --git a/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/utils.cc b/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/utils.cc index 33b8f2a2..7cd62e59 100644 --- a/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/utils.cc +++ b/harmony-os/SherpaOnnxHar/sherpa_onnx/src/main/cpp/utils.cc @@ -66,7 +66,9 @@ static Napi::Array ListRawFileDir(const Napi::CallbackInfo &info) { auto files = GetFilenames(mgr.get(), dir); Napi::Array ans = Napi::Array::New(env, files.size()); for (int32_t i = 0; i != files.size(); ++i) { - ans[i] = Napi::String::New(env, files[i]); + // Fix #2120 + // ans[i] = Napi::String::New(env, files[i]); + ans.Set(i, Napi::String::New(env, files[i])); } return ans; }