static jint android_media_visualizer_native_getPeakRms(JNIEnv *env, jobject thiz, jobject jPeakRmsObj) { Visualizer* lpVisualizer = getVisualizer(env, thiz); if (lpVisualizer == NULL) { return VISUALIZER_ERROR_NO_INIT; } int32_t measurements[2]; jint status = translateError( lpVisualizer->getIntMeasurements(MEASUREMENT_MODE_PEAK_RMS, 2, measurements)); if (status == VISUALIZER_SUCCESS) { // measurement worked, write the values to the java object env->SetIntField(jPeakRmsObj, fields.fidPeak, measurements[MEASUREMENT_IDX_PEAK]); env->SetIntField(jPeakRmsObj, fields.fidRms, measurements[MEASUREMENT_IDX_RMS]); } return status; }