Android Soundtouch库编译问题

Android Soundtouch库编译问题,android,android-ndk,java-native-interface,android-audiorecord,soundtouch,Android,Android Ndk,Java Native Interface,Android Audiorecord,Soundtouch,我正在尝试用Android NDK编译Soundtouch库。我成功安装了Soundtouch库所需的Cygwin和SWIG。当我试图运行ndk-build.cmd时,我得到了一个错误 jni/soundtouch/wrapper_wrap.cpp:在函数“void Java_com_talkingyeti_jni2_wrapper jni_soundtouch_1putSamples(JNIEnv*,_jclass*,jlong,_jobject*,jlong,jlong)”中: jni/so

我正在尝试用Android NDK编译Soundtouch库。我成功安装了Soundtouch库所需的Cygwin和SWIG。当我试图运行ndk-build.cmd时,我得到了一个错误

jni/soundtouch/wrapper_wrap.cpp:在函数“void Java_com_talkingyeti_jni2_wrapper jni_soundtouch_1putSamples(JNIEnv*,_jclass*,jlong,_jobject*,jlong,jlong)”中: jni/soundtouch/wrapper_wrap.cpp:545:错误:“SAMPLETYPE”未在此范围内声明 jni/soundtouch/wrapper_wrap.cpp:545:错误:“arg2”未在此作用域中声明 jni/soundtouch/wrapper_wrap.cpp:553:错误:在“')标记之前应该有主表达式 jni/soundtouch/wrapper_wrap.cpp:560:错误:预期为“')”在“const”之前 jni/soundtouch/wrapper_wrap.cpp:560:错误:应为“;”之前的“')”代币 make:[obj/local/armeabi/objs/soundtouch/wrapper\u wrap.o]错误1

此问题发生在以下wrapper_wrap.cpp块中:

  SWIGEXPORT void JNICALL Java_com_talkingyeti_jni2_wrapperJNI_SoundTouch_1putSamples(JNIEnv *jenv, jclass jcls, jlong jarg1, jobject jarg1_, jlong jarg2, jlong jarg3) {
  soundtouch::SoundTouch *arg1 = (soundtouch::SoundTouch *) 0 ;
  SAMPLETYPE *arg2 = (SAMPLETYPE *) 0 ;
  uint arg3 ;
  uint *argp3 ;

  (void)jenv;
  (void)jcls;
  (void)jarg1_;
  arg1 = *(soundtouch::SoundTouch **)&jarg1; 
  arg2 = *(SAMPLETYPE **)&jarg2; 
  argp3 = *(uint **)&jarg3; 
  if (!argp3) {
    SWIG_JavaThrowException(jenv, SWIG_JavaNullPointerException, "Attempt to dereference null uint");
    return ;
  }

请告诉我需要对SAMPLETYPE进行哪些更改才能正确编译NDK并生成SO文件。

您似乎遗漏了一个标题。确保您有:

#include "soundtouch/include/SoundTouch.h"


您是否在应用程序中集成了soundtouch库?是的,在Android应用程序中可以修改声音Tempo@mmdc我再次面临这个问题,你能分享一下示例代码吗?非常感谢。
using namespace soundtouch;