如何编写我的WinForms应用程序播放系统声音?

Cyb*_*ist 5 c# audio windows-7 winforms

对于C++,有一个函数,PlaySound,可用于,呃,播放声音.C#有这样的东西吗?我有一个应用程序,我想在它启动时播放系统声音,以通知它的启动.

GOT是一种方式.我希望.

我想把它放在Form_Load事件的末尾:

private void Form1_Load(object sender, EventArgs e)
{
    /* 
       A bunch of configuration and initialization stuff
    */

    PlayBeepBoop();
}

private void PlayBeepBoop()
{
    PlaySystemSound("Beep");
}
Run Code Online (Sandbox Code Playgroud)

Gra*_*ICA 8

有一个SystemSounds听起来像你想要的课程:

SystemSounds.Beep.Play();
Run Code Online (Sandbox Code Playgroud)

它对应于您在Windows声音设置中设置为"默认蜂鸣声"的任何"wav"文件.


Pie*_*ult 5

我知道三种播放系统声音的方法。

最通用的是\a要打印的与语言无关的字符,它会发出非常标准的蜂鸣声。

Console.WriteLine("\a");
Run Code Online (Sandbox Code Playgroud)



第二种方法可以让您直接访问一些声音,例如“感叹号”和“手”。它们位于SystemSounds类中(来自Systems.Media命名空间),并且用法非常简单。

SystemSounds.Hand.Play();
Run Code Online (Sandbox Code Playgroud)



最后,最后一种方法可以让您访问所有其他 Windows 系统声音。您所要做的就是创建一个SoundPlayer也位于Systems.Media命名空间中的 ,并用它手动加载声音。所有系统声音都位于同一个位置,因此非常容易做到。

new System.Media.SoundPlayer(@"C:\Windows\Media\tada.wav").Play();
Run Code Online (Sandbox Code Playgroud)