HarmonyOS support for VAD. (#1561)

This commit is contained in:
Fangjun Kuang
2024-11-24 16:29:24 +08:00
committed by GitHub
parent e424cc9e0d
commit 31d6206fde
15 changed files with 231 additions and 71 deletions

View File

@@ -22,8 +22,9 @@ class VoiceActivityDetector::Impl {
Init();
}
#if __ANDROID_API__ >= 9
Impl(AAssetManager *mgr, const VadModelConfig &config,
#if __ANDROID_API__ >= 9 || defined(__OHOS__)
template <typename Manager>
Impl(Manager *mgr, const VadModelConfig &config,
float buffer_size_in_seconds = 60)
: model_(VadModel::Create(mgr, config)),
config_(config),
@@ -184,6 +185,13 @@ VoiceActivityDetector::VoiceActivityDetector(
: impl_(std::make_unique<Impl>(mgr, config, buffer_size_in_seconds)) {}
#endif
#if __OHOS__
VoiceActivityDetector::VoiceActivityDetector(
NativeResourceManager *mgr, const VadModelConfig &config,
float buffer_size_in_seconds /*= 60*/)
: impl_(std::make_unique<Impl>(mgr, config, buffer_size_in_seconds)) {}
#endif
VoiceActivityDetector::~VoiceActivityDetector() = default;
void VoiceActivityDetector::AcceptWaveform(const float *samples, int32_t n) {