使用 NAudio 混合两个音频文件
Posted
技术标签:
【中文标题】使用 NAudio 混合两个音频文件【英文标题】:Mix two audio files using NAudio 【发布时间】:2019-09-04 13:32:58 【问题描述】:我需要在一个音频文件上发出噪音。我有第一个音频(数据)和第二个音频(噪音)。如何在第一个音频上添加噪音以使其循环播放。或者,如果第一个音频比音频噪声短,那么结果就是第一个音频的持续时间。
我举了一个他们教程的例子。但只是一个文件覆盖在另一个文件上。没有循环和长度优化的可能性
using(var reader1 = new AudioFileReader("file1.wav"))
using(var reader2 = new AudioFileReader("file2.wav"))
var mixer = new MixingSampleProvider(new[] reader1, reader2 );
WaveFileWriter.CreateWaveFile16("mixed.wav", mixer);
【问题讨论】:
【参考方案1】:您可以使用像I describe here 这样的循环技术来循环较短的文件(然后需要使用ToSampleProvider
)。
然后在您的MixingSampleProvider
上使用Take
扩展方法,以确保您只读取较长文件的持续时间,因此您不会创建无限大的WAV 文件。
【讨论】:
以上是关于使用 NAudio 混合两个音频文件的主要内容,如果未能解决你的问题,请参考以下文章