Javaからこのネイティブメソッドを呼び出したい:
void SoundTouch::putSamples(const SAMPLETYPE *samples, uint nSamples)
私のJavaコードには次のものがあります:
public native void putSamples(byte[] samples, int nSamples);
このメソッドと関数を橋渡しする JNI 部分を書きたいのですが、ネイティブ関数は 型の引数を期待していますが、からにSAMPLETYPE
「変換」する方法がわかりません。jbyteArray
SAMPLETYPE
extern "C" JNIEXPORT void Java_com_example_test_SoundTouch_putSamples(JNIEnv *env, jobject thiz, jbyteArray samples ,jint numSamples){
[Some magic to convert samples to FRAMETYPE I guess...]
st.putSamples(???, numSamples);
}
Eclipse 検索を使用している場合、私が見つけた関連性のある唯一のコードは、次の STTypes.cpp にありました。typedef float SAMPLETYPE;
byte[] を float[] に変換する必要があるということですか?