2015-07-02 32 views
0

我想使用的ffmpeg庫,用於混合兩種MP3或WAV使用我搜索互聯網上像下面給出可用的命令的音頻文件MP3音頻文件:合併兩個使用的ffmpeg

ffmpeg -i input1.mp3 -i input2.mp3 -filter_complex amerge -c:a libmp3lame -q:a 4 output.mp3 

從鏈接How to overlay two audio files using ffmpeg

此外,嘗試了一些不同的形式給出的其他解決方案。

但他們都沒有工作的圖書館從鏈接 https://github.com/hiteshsondhi88/ffmpeg-android-java下載。

,但是當我試圖運行在intener可用的命令,有些命令我得到不同的不同的錯誤一樣,

-- Unable to find suitable output format for 'ffmpeg' ffmpeg: Invalid argument 

,我也嘗試一個更命令,

String res = "ffmpeg -y -i " + a.getAbsolutePath() + " -i " + b.getAbsolutePath() + " -filter_complex '[0:0][1:0] amix=inputs=2:duration=longest' -c:a libmp3lame " + c.getAbsolutePath(); 

其給出的錯誤,No such filter:" Error configuring filters.

請幫忙!!

+0

你找到任何解決辦法? –

回答

0

你的FFmpeg版本是什麼? 我相信這是舊的,這就是爲什麼它不工作。

首先SETP下載最新的版本official site嘗試,如果你的命令,它的工作,如果比是找到另一個(或建立你自己的)編譯爲Android可執行文件

0

那麼首先檢查你的FFmpeg版本。您使用amix過濾器的方式必須更改。 amix過濾混合音頻。所以下面是我的建議。

ffmpeg -i input_audio1 -i input_audio2 -filter_complex "aevalsrc=0:d=10[s1]; 
[s1][1:a]concat=n=2:v=0:a=1[ac1]; 
[0:a][ac1]amix[aout]" -map [aout] -c:a libmp3lame output_audio 

可以追加一個無聲的音頻,其持續時間與第一音頻,並將其使用amix他們。所以原始音頻不會重疊。 aevalsrc將創建一個持續10秒的無聲音頻。您還需要相應地爲您的輸出選擇適當的編解碼器。你可以找到那些編解碼器here

希望這會有所幫助!

0

我知道這個問題發佈後已經有一段時間了,但我認爲你的主要問題是你不應該在你的字符串中包含「ffmpeg」。

所以,你的CMD線是:

String res = "-y -i " + a.getAbsolutePath() + " -i " + b.getAbsolutePath() + " -filter_complex '[0:0][1:0] amix=inputs=2:duration=longest' -c:a libmp3lame " + c.getAbsolutePath();