【发布时间】:2016-01-22 05:59:18
【问题描述】:
这是我的 jni 'c' 代码,用于在 Android 中使用 ffmpeg 连接 sdcard 中的 mp3 文件列表
JNIEXPORT jint JNICALL Java_Test_Mp3_Merger_Audio_mergeAudio(JNIEnv *env,
jclass someclass, jstring inputFile, jstring outFile) {
log_message("Starting to trim video");
int numberOfArgs = 8;
char** arguments = calloc(numberOfArgs, sizeof(char*));
char start[5], duration[5];
const char *in, *out;
in = (*env)->GetStringUTFChars(env, inputFile, 0);
out = (*env)->GetStringUTFChars(env, outFile, 0);
//ffmpeg -f concat -i mergelist.txt -c copy a.mp3 // this comand worked pecrfect in my computer terminal..
arguments[0] = "ffmpeg";
arguments[1] = "-f";
arguments[2] = "concat";
arguments[3] = "-i";
arguments[4] = in;
arguments[5] = "-c";
arguments[6] = "copy";
arguments[7] = out;
int i;
for (i = 0; i < numberOfArgs; i++) {
log_message(arguments[i]);
}
log_message("Printed all");
ffmpeg_main(numberOfArgs, arguments);
log_message("Finished");
free(arguments);
(*env)->ReleaseStringUTFChars(env, inputFile, in);
(*env)->ReleaseStringUTFChars(env, outFile, out);
return 0;
}
下面是我用 config.mak 生成的 config.h https://drive.google.com/file/d/0B4VBZ6KJJazSWHBqQWJpWHhuZnM/view?usp=sharing
每当我调用本机方法 trim() 我收到错误消息 Unknown input format: 'concat'。
但是使用 ndk 编译时 concat.c 显示为已编译 怎么了?
【问题讨论】:
标签: android c++ linux ffmpeg android-ndk