Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用ffmpeg在C中叠加两个音频文件#_C#_.net_Audio_Ffmpeg - Fatal编程技术网

C# 用ffmpeg在C中叠加两个音频文件#

C# 用ffmpeg在C中叠加两个音频文件#,c#,.net,audio,ffmpeg,C#,.net,Audio,Ffmpeg,我正在学习ffmpeg的包装器,并尝试像这样对音频实施“损坏”过滤器。 我有一个音频文件和一个“过滤器”,然后它们应该合并到最终的第三个音频文件中。 我认为我应该这样使用ffmpeg参数: ffmpeg -i main.mp3 -i filter.mp3 -filter_complex amerge -ac 2 -c:a libmp3lame -q:a 4 output.mp3 第二部分是如何改变“过滤器”的音量,并在合并前将其循环到主音频文件的持续时间。 我不确定ffmpeg是否有自己的类似

我正在学习ffmpeg的包装器,并尝试像这样对音频实施“损坏”过滤器。
我有一个音频文件和一个“过滤器”,然后它们应该合并到最终的第三个音频文件中。
我认为我应该这样使用ffmpeg参数:

ffmpeg -i main.mp3 -i filter.mp3 -filter_complex amerge -ac 2 -c:a libmp3lame -q:a 4 output.mp3
第二部分是如何改变“过滤器”的音量,并在合并前将其循环到主音频文件的持续时间。 我不确定ffmpeg是否有自己的类似过滤器的方法,所以欢迎任何建议


提前谢谢。

我通过这种方式找到了问题的答案

要将轨迹与过滤器合并,请执行以下操作:

string command = "-y -i TRACK.mp3 -i FILTER.mp3 -filter_complex amix=inputs=2:duration=first:dropout_transition=2 MIX.mp3";
        var ffMpeg = new NReco.VideoConverter.FFMpegConverter();
        ffMpeg.Invoke(command);
要更改过滤器的体积,请执行以下操作:

string command = "-y -i FILTER.mp3 -af "volume=xx.xxxx" NEWFILTER.mp3"
        var ffMpeg = new NReco.VideoConverter.FFMpegConverter();
        ffMpeg.Invoke(command);

我通过这种方式找到了我问题的答案

要将轨迹与过滤器合并,请执行以下操作:

string command = "-y -i TRACK.mp3 -i FILTER.mp3 -filter_complex amix=inputs=2:duration=first:dropout_transition=2 MIX.mp3";
        var ffMpeg = new NReco.VideoConverter.FFMpegConverter();
        ffMpeg.Invoke(command);
要更改过滤器的体积,请执行以下操作:

string command = "-y -i FILTER.mp3 -af "volume=xx.xxxx" NEWFILTER.mp3"
        var ffMpeg = new NReco.VideoConverter.FFMpegConverter();
        ffMpeg.Invoke(command);