【发布时间】:2023-03-03 20:50:01
【问题描述】:
播放包含 wav 编码音频的内存流时,播放以尖锐的爆裂声/噼啪声开始:
ms = new MemoryStream(File.ReadAllBytes(audio_filename));
[...]
dispose_audio();
sound_output = new DirectSoundOut();
IWaveProvider provider = new RawSourceWaveStream(ms, new WaveFormat());
sound_output.Init(provider);
sound_output.Play();
直接播放wav文件时不会出现爆音:
dispose_audio();
NAudio.Wave.WaveStream pcm = new WaveChannel32(new NAudio.Wave.WaveFileReader(audio_filename));
audio_stream = new BlockAlignReductionStream(pcm);
sound_output = new DirectSoundOut();
sound_output.Init(audio_stream);
sound_output.Play();
正在播放相同的文件,但是当 wav 数据首先存储在内存流中时,播放开始时会发出有点响亮的爆音。
总的来说,我是 NAudio 和音频的新手,所以这可能有点傻,但我似乎无法弄清楚。
【问题讨论】:
-
请参阅"Should questions include “tags” in their titles?",其中的共识是“不,他们不应该”!
-
@AndreasNiedermair 感谢您指出这一点。