2017-11-24 7 views
1

を使用して2つのオーディオファイルをマージすることは私はffmpegのがsuccsesfull.Followingないlibrary.but使用して二つのmp3ファイルをマージするffmpegの

GeneralUtils.checkForPermissionsMAndAbove(MergerActivity.this, true); 
LoadJNI vk = new LoadJNI(); 
try { 
    String workFolder = getApplicationContext().getFilesDir().getAbsolutePath(); 
    //String[] complexCommand = {"ffmpeg","-i", "/sdcard/videokit/in.mp4"}; 
    String[] complexCommand = {"ffmpeg -i \"concat: /storage/internalsd/Music/02 Love Dose.mp3| /storage/internalsd/Music/02 Love Dose.mp3\" -acodec copy output.mp3"}; 

    vk.run(complexCommand , workFolder , getApplicationContext()); 
    Log.i("test", "ffmpeg4android finished successfully"); 
} catch (Throwable e) { 
    Log.e("test", "vk run exception.", e); 
} 

エラーログの表示がに助けてください

vk run exception. 

com.netcompss.ffmpeg4android.CommandValidationException 
    at com.netcompss.loader.LoadJNI.run(LoadJNI.java:39) 
    at com.netcompss.loader.LoadJNI.run(LoadJNI.java:55) 
    at com.handyaudio.MergerActivity.onMergeButtonClicked(MergerActivity.java:356) 
    at com.handyaudio.MergerActivity.onClick(MergerActivity.java:272) 
    at android.view.View.performClick(View.java:4446) 
    at android.view.View$PerformClick.run(View.java:18437) 
    at android.os.Handler.handleCallback(Handler.java:733) 

を次のように私のコードですエラーを解決する。

+0

[concat demuxer](https://stackoverflow.com/a/11175851/1109017)であり、連結プロトコルではありません。 – LordNeckbeard

答えて

0

の許可が最初にあることを確認してください。

これを試してみてください -

ffmpeg -filter_complex "amovie=file1.mp3 [a0]; amovie=file2.mp3 [a1]; [a0][a1] amix=inputs=2:duration=shortest [aout]" -map [aout] -acodec mp3 file_merged.mp3 

を編集1:

、連結プロトコルはこれです:ffmpeg -i 'concat:input1|input2 -codec copy output

私はあなたが間違っているところだと思うことは、あなたは、あなたのファイル名でありますファイル名を完成させる前にspaceを入れてください。つまり、02 LoveDose.mp3

+1

OPは、ミックスするのではなく、連結したいと思うようです。また、 'amovie'の必要はなく、普通の' ffmpeg -i file1.mp3 -i file2.mp3 ... 'のように入力を加えてください。 – LordNeckbeard

+0

私にそれを完全に命令してください。 –

関連する問題