在 C# 中播放声音 - 使用哪种方法?

Har*_*rry 5 .net c# audio visual-studio

我正在尝试编写一个 C# .net - 应用程序,当单击特定按钮时,该应用程序会从文件夹中随机播放声音。

所以我花了一些时间来寻找正确的方法来实现这一点。在我的脑海中,“只是播放声音”似乎并不那么复杂,但有很多方法可以做到这一点。

请纠正我现在要说的每一件事:

  • PlaySound是相当古老的方式,没有音量、多种声音或循环等控件
  • mciSendString,向 MCI 发送文本注释,播放不同格式,支持音量控制,甚至可以同时发出多种声音,发送字符串命令而不是使用类不是很舒服,可能需要一个格式良好的包装类(有人吗?:D)
  • SoundPlayer类,支持异步,没有真正的进一步的东西,没有音量没有循环
  • MediaPlayer类,支持甚至超过音频、.net 4.0、音量,但需要一些“特殊处理”才能同时处理多个声音
  • DirectSound,似乎支持你可以想象的所有声音,代码看起来太复杂了,不能“简单地播放声音”

好吧,这就是方法,也许我错过了一种,但总的来说......我还没有被一种说服。

我想开始、停止、暂停自定义 .wav .mp3 声音,不仅是一个接一个,有时甚至是同时,在它们运行期间改变音量,也许一些静音功能停止所有声音。听起来很容易,但是是吗?

感谢您提前提供任何提示,

哈利