Currently JPortAudio is only supported for Windows and Macintosh. Please contact us if you want to help with porting Linux.
For reference documentation of the JPortAudio API see: com.portaudio.PortAudio
For an example see: PlaySine.java
If you modify the JNI API then you will need to regenerate the JNI .h files using:
cd bindings/java/scripts make_header.bat
Build the JNI DLL using the Visual Studio 2010 solution in "java/c/build/vs2010/PortAudioJNI".
I created a target of type 'C' library.
I added the regular PortAudio frameworks plus the JavaVM framework.
I modified com_portaudio_PortAudio.h and com_portaudio_BlockingStream.h so that jni.h could found.
#if defined(__APPLE__) #include <JavaVM/jni.h> #else #include <jni.h> #endif
This is bad because those header files are autogenerated and will be overwritten. We need a better solution for this.
I had trouble finding the "libjportaudio.jnilib". So I added a Build Phase that copied the library to "/Users/phil/Library/Java/Extensions".
On the Mac we can create a universal library for both 32 and 64-bit JVMs. So in the JAR file I will open "jportaudio" on Apple. ON WIndows I will continue to open "jportaudio_x64" and "jportaudio_x86".