0
NAudioとASIOを使って一連のwavファイルを再生しています。オーディオカードがサポートしているだけなので、ASIOを使用する必要があります。私は、このように各wavファイルを再生することができました:NAudio ASIO再生wav
waveRead = new WaveFileReader(completeStreamMS); //completeStreamMS is a memorystream
waveRead.Position = 0;
pcm = new WaveChannel32(waveRead);
reductionStream = new BlockAlignReductionStream(pcm);
reductionStream.Position = 0;
waveOutDevice.Init(reductionStream);
waveOutDevice.Play();
は、今私は、wavファイルの開始前に、サイレントの1秒を挿入する必要があります。私が見つけた唯一の方法はOffsetSampleProviderを使用することですが、私はこの
ISampleProvider isp = WaveExtensionMethods.ToSampleProvider(waveRead);
var offset = new SampleProviders.OffsetSampleProvider(isp);
offset.DelayBy = TimeSpan.FromSeconds(1);
var wp = new SampleProviders.SampleToWaveProvider(offset);
waveOutDevice.Init(wp);`
waveOutDevice.Play();
のように行う場合は、最初のwavファイルはうまく果たしている、しかし、すぐに、私は停止として()waveOutDeviceまたは私は新しいものを再インスタンス化しようとしますプログラムの実行はその位置で停止します
System.ExecutionEngineException
Cannot intercept exception. Debugged program can not be continued and properties can not be evaluated.
私はその理由を理解できません。助けてください。 ありがとう