【问题标题】:Mix two audio files using NAudio使用 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);
}

【问题讨论】:

    标签: c# audio naudio


    【解决方案1】:

    您可以使用像I describe here 这样的循环技术来循环较短的文件(然后需要使用ToSampleProvider)。 然后在您的MixingSampleProvider 上使用Take 扩展方法,以确保您只读取较长文件的持续时间,因此您不会创建无限大的WAV 文件。

    【讨论】:

      猜你喜欢
      • 2012-03-02
      • 2022-06-11
      • 2017-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-19
      • 2013-12-30
      相关资源
      最近更新 更多