NAudio 使用 WaveMixerStream32() 混合 2 两个音频->如何让第二个音频稍后开始
Posted
技术标签:
【中文标题】NAudio 使用 WaveMixerStream32() 混合 2 两个音频->如何让第二个音频稍后开始【英文标题】:NAudio mix 2 two audio togeter with WaveMixerStream32() -->how to let second audio start later 【发布时间】:2015-06-02 10:13:01 【问题描述】:我试图通过两个音频文件的音频延迟进行简单的混合以开始工作。
我有两个音频。每个长度为 30 秒。如果将它们与 WaveMixerStream32 混合在一起,它们将相互叠加(混合波的长度为 30 秒)
var mixer = new WaveMixerStream32 AutoStop = true;
var readerAudio1 = new WaveFileReader("pathtoAudio1");
var readerAudio2 = new WaveFileReader("pathtoAudio2");
mixer.AddInputStream(new WaveChannel32(readerAudio1));
mixer.AddInputStream(new WaveChannel32(readerAudio2));
WaveFileWriter.CreateWaveFile("mycomposed.wav", new Wave32To16Stream(mixer));
是否可以延迟 10 秒开始音频 2-->这意味着结果将有 40 秒的长度。
我试过了
var offset = new OffsetSampleProvider(readerAudio2);
offset.DelayBy = TimeSpan.FromSeconds(10);
但不知道如何使用混音器来获得延迟。 有没有简单的方法来实现这一点?
感谢您的帮助。贾娜
【问题讨论】:
【参考方案1】:如果你使用MixingSampleProvider
进行混音,那么你可以和OffsetSampleProvider
一起使用
【讨论】:
以上是关于NAudio 使用 WaveMixerStream32() 混合 2 两个音频->如何让第二个音频稍后开始的主要内容,如果未能解决你的问题,请参考以下文章