Add Android demo for audio tagging (#776)

See https://k2-fsa.github.io/sherpa/onnx/audio-tagging/apk.html
This commit is contained in:
Fangjun Kuang
2024-04-16 20:47:16 +08:00
committed by GitHub
parent aa2d695fd2
commit bcd9e48150
54 changed files with 1775 additions and 121 deletions

View File

@@ -57,6 +57,29 @@ static AudioTaggingConfig GetAudioTaggingConfig(JNIEnv *env, jobject config) {
} // namespace sherpa_onnx
SHERPA_ONNX_EXTERN_C
JNIEXPORT jlong JNICALL Java_com_k2fsa_sherpa_onnx_AudioTagging_newFromAsset(
JNIEnv *env, jobject /*obj*/, jobject asset_manager, jobject _config) {
#if __ANDROID_API__ >= 9
AAssetManager *mgr = AAssetManager_fromJava(env, asset_manager);
if (!mgr) {
SHERPA_ONNX_LOGE("Failed to get asset manager: %p", mgr);
}
#endif
auto config = sherpa_onnx::GetAudioTaggingConfig(env, _config);
SHERPA_ONNX_LOGE("audio tagging newFromAsset config:\n%s",
config.ToString().c_str());
auto tagger = new sherpa_onnx::AudioTagging(
#if __ANDROID_API__ >= 9
mgr,
#endif
config);
return (jlong)tagger;
}
SHERPA_ONNX_EXTERN_C
JNIEXPORT jlong JNICALL Java_com_k2fsa_sherpa_onnx_AudioTagging_newFromFile(
JNIEnv *env, jobject /*obj*/, jobject _config) {