You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
770 B
25 lines
770 B
#include <jni.h>
|
|
#include "ffmpeg.h"
|
|
|
|
JNIEXPORT jint JNICALL Java_com_frank_ffmpeg_FFmpegCmd_handle
|
|
(JNIEnv *env, jclass obj, jobjectArray commands){
|
|
int argc = (*env)->GetArrayLength(env, commands);
|
|
char **argv = (char**)malloc(argc * sizeof(char*));
|
|
int i;
|
|
int result;
|
|
for (i = 0; i < argc; i++) {
|
|
jstring jstr = (jstring) (*env)->GetObjectArrayElement(env, commands, i);
|
|
char* temp = (char*) (*env)->GetStringUTFChars(env, jstr, 0);
|
|
argv[i] = malloc(1024);
|
|
strcpy(argv[i], temp);
|
|
(*env)->ReleaseStringUTFChars(env, jstr, temp);
|
|
}
|
|
//执行ffmpeg命令
|
|
result = run(argc, argv);
|
|
//释放内存
|
|
for (i = 0; i < argc; i++) {
|
|
free(argv[i]);
|
|
}
|
|
free(argv);
|
|
return result;
|
|
} |