【问题标题】:Play entire sound file C# - Visual Studio播放整个声音文件 C# - Visual Studio
【发布时间】:2016-04-27 00:31:20
【问题描述】:

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

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

(随机发生器只是从一系列不同的声音中挑选)

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

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

【问题讨论】:

  • 您可以生成一个新线程并播放声音异步。这样就不会被打断了

标签: c# audio playback


【解决方案1】:

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

代码示例:

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

希望对你有帮助

【讨论】:

  • 谢谢,你能给我一个我将使用的代码示例吗?我还不太擅长 C#。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-04-04
  • 1970-01-01
  • 1970-01-01
  • 2017-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多