我需要在我的应用程序中每秒播放 60 次以上的短声音。触发模式事先不知道,所以我无法制作一个包含 60 次重复相同声音的大文件。声音需要异步播放。
每次您要求异步播放声音时,C#SoundPlayer
和 Win32似乎都会启动一个单独的线程。PlaySound()
我不希望创建这么多线程的开销,所以我不能使用这些选项。此外,如果在前一个触发器仍在播放时再次触发声音,则声音应重新启动或重叠播放,而不是排队等待稍后播放。
是否有任何预烘焙的 .NET 或 Win32 工具可以做到这一点?现在我在想我需要一个使用手动线程和事件构建的较低级别的解决方案。