// helper function to be called in Java for making svm-predict extern "C" void Java_shih_iris_com_activityRecognitionApp_ActivityAlgorithm_jniSvmPredict(JNIEnv *env, jobject obj, jstring cmdIn){ const char *cmd = env->GetStringUTFChars(cmdIn, 0); debug("jniSvmPredict cmd = %s", cmd); std::vector<char*> v; // add dummy head to meet argv/command format std::string cmdString = std::string("dummy ")+std::string(cmd); cmdToArgv(cmdString, v); // make svm train by libsvm svmpredict::main(v.size(),&v[0]); // free vector memory for(int i=0;i<v.size();i++){ free(v[i]); } // free java object memory env->ReleaseStringUTFChars(cmdIn, cmd); }
// helper function to be called in Java for pre process audio extern "C" void Java_com_example_iodetector_MyService_processAudio(JNIEnv *env, jobject obj, jstring cmdIn){ const char *cmd = env->GetStringUTFChars(cmdIn, 0); debug("jniSvmPredict cmd = %s", cmd); std::vector<char*> v; // add dummy head to meet argv/command format std::string cmdString = std::string("dummy ")+std::string(cmd); cmdToArgv(cmdString, v); // make svm train by libsvm getAudioFeature::main(v.size(),&v[0]); // free vector memory for(int i=0;i<v.size();i++){ free(v[i]); } // free java object memory env->ReleaseStringUTFChars(cmdIn, cmd); }