jni java 函数指针_如何将C++函数指针传递到库的JNI函数

我正在开发一个音频库(AAR),它有助于处理某些信号处理应用程序。在我的库中,我将拥有一个通用的信号处理模块(用C++编写并由JNI分层)。处理完毕后,我的库需要调用一些“回调”函数(由库用户定义),以便用户可以对处理后的信号进行“定制”响应。如何将C++函数指针传递到库的JNI函数

我希望这是用C++接口的,所以这个用户定义的“回调”函数也可以用在我的iOS库中。但我不知道该怎么做。

以下是我的问题

的例子----------这是我的AAR库-------------- 在JNI

.C

void (*userCallback)(int []);

void onAudioRecorded(int[] audio) { // this function is called by Java

// So some library processing

int[] processedAudio = libraryProcessing(audio);

// Pass this processed audio to the user-defined function

userCallback(audio);

}

----------这里是一些用户的项目包括我AAR库--------------

在用户应用程序的user_jni.c

void setLibraryCallback() {

// HERE IS MY PROBLEM

// HOW CAN I SET MY LIBRARY’s userCallback to onAudioProcessed

}

void onAudioProcessed(int[] processedAudio) {

// Do some further processing

int[] finalAudio = userDefinedProcessing(processedAudio);

// Make some reactions based on finalAudio

}

2017-02-11

Yu-Chih

+0

这不是C,不要垃圾标签!并且不要C++。 –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值