我需要在winforms dotnet中播放30秒的音频片段,每秒1个。 我目前正在从文件系统加载/播放wav文件,这在笔记本电脑上工作正常,但是在上网本上引起了问题。我可以将所有声音文件预先加载到内存中,如果是这样的话?
答案 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文件(正弦)并播放它。你要做的事情应该更简单,你应该能够从发布的样本中得出它。