问题
I have an ISampleProvider
I want to pad with 10 seconds of silence, how would I achieve this in NAudio?
var songDelayed = new AudioFileReader(filePath_1);
//Delay "songDelayed" by 10 secs
//What do I do here?
myDirectSoundObj.Init(songDelayed);
myDirectSoundObj.Play();
回答1:
You can do this with OffsetSampleProvider
var songDelayed = new AudioFileReader(filePath_1);
var offset = new OffsetSampleProvider(songDelayed);
offset.DelayBy = TimeSpan.FromSeconds(10);
// or if you don't have latest NAudio source:
// offset.DelayBySamples = songDelayed.WaveFormat.SampleRate *
// songDelayed.WaveFormat.Channels * 10;
myDirectSoundObj.Init(offset);
myDirectSoundObj.Play();
来源:https://stackoverflow.com/questions/22838479/how-to-pad-audio-stream-with-silence