如题:因为上层没法去找到方法,只有想办法去调底层C的方法,SDK源码make出来的.so库文件可以用来做jni的调用么? 底层.c文件里面没有申明JNI,我需要如何去申明
http://blog.csdn.net/xnwyd/article/details/7086384
http://www.docin.com/p-281097673.html
http://blog.csdn.net/zdy666888/article/details/18809957
自己再封装一层JNI接口就可以了
JNI其实不复杂,花点时间看一下相关资料就ok
我需要底层C的3个方法
int audio_left_mono(int pid)
{
int ret = -1;
play_para_t *player_para;
codec_para_t *p;
player_para = player_open_pid_data(pid);
if (player_para == NULL) {
return 0; /*this data is 0 for default!*/
}
p = get_audio_codec(player_para);
if (p != NULL) {
ret = codec_left_mono(p);
}
player_close_pid_data(pid);
return ret;
}
int audio_right_mono(int pid)
{
int ret = -1;
play_para_t *player_para;
codec_para_t *p;
player_para = player_open_pid_data(pid);
if (player_para == NULL) {
return 0; /*this data is 0 for default!*/
}
p = get_audio_codec(player_para);
if (p != NULL) {
ret = codec_right_mono(p);
}
player_close_pid_data(pid);
return ret;
}
int audio_stereo(int pid)
{
int ret = -1;
play_para_t *player_para;
codec_para_t *p;
player_para = player_open_pid_data(pid);
if (player_para == NULL) {
return 0; /*this data is 0 for default!*/
}
p = get_audio_codec(player_para);
if (p != NULL) {
ret = codec_stereo(p);
}
player_close_pid_data(pid);
return ret;
}
这三个方法怎么去封装?
你这几个函数的参数,返回值都比较简单,按照JNI的规则,封装导出一下,然后就可以java来调用了
http://www.cnblogs.com/anyanran/archive/2010/11/22/ndk1.html