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

时间:2016-04-27 00:31:20

标签: c# audio playback

我在使用C#的Visual Studio中有一个Windows窗体应用程序,只要按下一个键,我就会弹出键盘按键声音:

keyClick[randomiser.Next(0, 4)].Play();

(随机客户只是从一系列不同的声音中挑选)

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

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

1 个答案:

答案 0 :(得分:3)

您可以使用Async异步播放声音,以便分离声音和输入。您也可以启动任务来执行相同的操作。两者都在新线程上启动声音,您可以继续使用不会中断它的输入。

代码示例:

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

希望这有助于