(1)为了画音高线需要在代码中生成view控件,但随着每句歌词的字数不同控件数量也不同:
private TextView[] textView;
......
textView=new TextView[10];(假设返回的控件数量小于10)
for(int i=0;i<返回的控件数量;i++)
{
textView[i]=new TextView(this);
relativeLayout.addView(textView[i]);
}
(2)通过JNI返回一个数组:
void java_com_example_sms_adjustPitch_getStandardPitch
(JNIEnv *env,jobject obj,jstring path,jintArray correctPitch){
const char *c_path;
c_path=env->GetStringUTFChars(path,NULL);
jint length=env->GetArrayLength(correctPitch);
jint temp[length];
jint *arr=standardPitch(c_path);
for(int i=0;i<length;i++){
temp[i]=arr[i];
}
env->SetIntArrayRegion(correctPitch,0,length,temp);
}