我有一个小应用程序,意图是当用户按下某个键时会发生一些事情
在加载表单时实例化Dictionary和SoundPlayer实例,并且所有SoundPlayer实例在添加到字典之前同步Load().wav文件。
表单的KeyDown事件如下所示:
//do stuff up here, get the type, etc etc
//players is Dictionary<EnumFoo, SoundPlayer>
SoundPlayer sound = players[type];
sound.Play();
this.KeyUp += (sUp, eUp) =>
{
DateTime endTime = DateTime.Now;
foo.Duration = endTime - startTime;
sound.Stop();
this.resetColors();
};
这是我的问题:它似乎只播放较短的声音。有些长度最长约30秒,有些则长度小于5.如果我在实例化SoundPlayer后放置断点,那么即使长音也能正常播放。
我正在考虑使用ThreadPool并将项目排队,但该选项有其自己的一组分支。
有什么想法吗?我以前从来没有遇到任何媒体课。
答案 0 :(得分:0)