2016-01-22 2 views
0

Это «с» Код моих JNI Для Concatinate список mp3 файлов в SDCard с помощью FFmpeg в AndroidНастройка FFmpeg для использования CONCAT

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.h генерируется с config.mak https://drive.google.com/file/d/0B4VBZ6KJJazSWHBqQWJpWHhuZnM/view?usp=sharing

И Всякий раз, когда я называю родную обшивку() метод я получил сообщение об ошибке Неизвестный входной формат: «CONCAT».

Но concat.c отображается как скомпилированный при компиляции с помощью ndk Что не так?

ответ

1

concat.c - это протокол concat. -f concat -i ... вызывает concat demuxer, который является FFmpeg/libavformat/concatdec.c

Смежные вопросы