我需要在 winforms dotnet 中播放 30 秒的音频剪辑,每秒 1 个。我目前正在从文件系统加载/播放 wav 文件,这在笔记本上运行良好,但在上网本上会导致问题。我可以将所有声音文件预加载到内存中吗?如果可以,如何?
问问题
1195 次
3 回答
1
如果您使用 SoundPlayer 播放文件,您可以使用SoundPlayer.Load
.
SoundPlayer sp = new SoundPlayer("filename");
sp.Load(); // preload
sp.Play();
编辑:
如文档所述,您也可以使用SoundPlayer.LoadAsync
在后台加载声音。
于 2010-11-04T18:46:26.233 回答
0
我倾向于说您会将文件加载到某种 system.io.memorystream 中。希望播放文件的库将采用内存流或内存流可以转换为该库采用的数据结构。
于 2010-11-04T18:44:37.250 回答
0
这是一个最近的示例,它完全从头开始在内存中创建一个 .wav 文件(正弦波)并播放它。您尝试做的事情应该简单得多,并且您应该能够从发布的示例中得出它。
于 2010-11-04T18:47:13.523 回答