Я использую эту библиотеку привязки для FFMpeg: https://github.com/gperozzo/XamarinAndroidFFmpeg
Моя цель - смешать два аудиофайла.
String s = "-i " + "test.wav" + " -i " + test2.mp3 + " -filter_complex amix=inputs=2:duration=first " + "result.mp3";
Device.BeginInvokeOnMainThread(async () =>
{
await FFMpeg.Xamarin.FFmpegLibrary.Run(Forms.Context, s);
});
Итак, у меня есть 2 входных файла: один .mp3, а другой .wav.
Я также пробовал следующие команды:
String s= "-i "+ "test.wav" +" -i "+ "test2.mp3" + " -filter_complex [0:0][1:0]concat=n=2:v=0:a=1[out] -map [out] " + "result.mp3";
String s = "-i " + "test.wav" + " -i " + "test2.mp3" + " -filter_complex [0:a][1:a]amerge=inputs=2[aout] -map [aout] -ac 2 " + "result.mp3";
1) Могу ли я смешать два разных аудиоформата (в моем случае .mp3 и .wav) или они должны быть эквивалентны? 2) Какая правильная командная строка для микширования?
Заранее спасибо.
ffmpeg
, чтобы внести какие-либо предложения. 18.06.2018-y
, чтобы подтвердить переопределение выходного файла. В противном случае он может зависнуть в ожидании вашего подтверждения. В качестве альтернативы используйте параметр-report
, но он слишком многословен. Третий вариант — переменная окруженияFFREPORT
:FFREPORT=file=ffreport.log:level=32 ffmpeg -i input output
. 18.06.2018[0:a]volume=0.3[a0];[1:a]volume=0.8[a1];[a0][a1]amix...
В качестве альтернативы используйте amerge + < фильтр href="https://ffmpeg.org/ffmpeg-filters.html#pan" rel="nofollow noreferrer">pan. 2) Извините, но я ничего не знаю о Xamarin.Android. 22.06.2018