播放整个声音文件C#-Visual Studio

播放整个声音文件C#-Visual Studio,c#,audio,playback,C#,Audio,Playback,我在Visual Studio中有一个使用C#的Windows窗体应用程序,每当使用以下命令按下某个键时,我都会播放键盘键声音: keyClick[randomiser.Next(0, 4)].Play(); (随机发生器只是从一系列不同的声音中选取) 但是,当播放声音并在声音结束前按下另一个键时,它会停止播放该声音并播放新的声音,这会使声音听起来很糟糕 因此,我的问题是如何确保它播放整个声音文件,并在顶部覆盖任何新的播放命令,而不是停止第一个播放?您可以使用Async异步播放声音,以便将声音

我在Visual Studio中有一个使用C#的Windows窗体应用程序,每当使用以下命令按下某个键时,我都会播放键盘键声音:

keyClick[randomiser.Next(0, 4)].Play();
(随机发生器只是从一系列不同的声音中选取)

但是,当播放声音并在声音结束前按下另一个键时,它会停止播放该声音并播放新的声音,这会使声音听起来很糟糕


因此,我的问题是如何确保它播放整个声音文件,并在顶部覆盖任何新的播放命令,而不是停止第一个播放?

您可以使用Async异步播放声音,以便将声音和输入分开。你也可以开始一项任务来做同样的事情。两者都在新线程上启动声音,您可以继续使用不会中断声音的输入

代码示例:

Task playSound=新任务(()=>keyClick[randomizer.Next(0,4)].Play());
playSound.Start()


希望这有帮助

您可以生成一个新线程并异步播放声音。这样它就不会被打断了汉克斯,你能给我一个我会使用的代码的例子吗?我还不太擅长C#。