Windows Forms dotnet .wav播放 - 需要将多个wav文件预加载到内存中以便快速播放

时间:2010-11-04 18:35:04

标签: c# .net winforms playsound

我需要在winforms dotnet中播放30秒的音频片段,每秒1个。 我目前正在从文件系统加载/播放wav文件,这在笔记本电脑上工作正常,但是在上网本上引起了问题。我可以将所有声音文件预先加载到内存中,如果是这样的话?

3 个答案:

答案 0 :(得分:1)

如果您使用SoundPlayer播放文件,则可以使用SoundPlayer.Load预加载文件。

SoundPlayer sp = new SoundPlayer("filename");
sp.Load(); // preload
sp.Play();

修改
如文档所述,您还可以使用SoundPlayer.LoadAsync在后台加载声音。

答案 1 :(得分:0)

我倾向于说你要将文件加载到某种system.io.memorystream中。希望播放您文件的库可以将内存流或内存流转换为该库所采用的数据结构。

答案 2 :(得分:0)

这是一个最近的例子,它完全从头开始在内存中创建一个.wav文件(正弦)并播放它。你要做的事情应该更简单,你应该能够从发布的样本中得出它。

Real low level sound generation in C#?