2010-08-17 69 views

回答

157

你可以使用:

System.Media.SoundPlayer player = new System.Media.SoundPlayer(@"c:\mywavfile.wav"); 
player.Play(); 
+19

这是完美的答案,因为新用户可以理解SoundPlayer属于System.Media .... – 2010-08-22 18:11:32

+1

@ for是什么? – 2014-03-15 12:28:20

+16

@Ali ... http://stackoverflow.com/questions/2361857/what-does-means-in-c-sharp “这意味着将下面的字符串解释为文字。意思是,字符串中的\实际上是一个“\”在输出中,而不是必须把“\\”表示文字字符“ – Praveen 2014-03-17 15:05:09

28

对于Windows窗体的方法之一是使用SoundPlayer

private void Button_Click(object sender, EventArgs e) 
{ 
    using (var soundPlayer = new SoundPlayer(@"c:\Windows\Media\chimes.wav")) { 
     soundPlayer.Play(); // can also use soundPlayer.PlaySync() 
    } 
} 

MSDN page

这也将与WPF工作,但你还有其他选项,如使用MediaPlayerMSDN page

+1

应该可以用''using'语句包装,因为它继承自'Component' – cjk 2010-08-17 13:20:14

+0

@ck - 我只是展示了基础知识,但是在生产代码中是用''using'包装它。 – ChrisF 2010-08-17 13:24:38

+1

更好的是,在生产代码中,只需创建一次并多次使用它,而不是每次按下按钮时都创建它。 – Shibumi 2012-03-08 21:07:01

63

您可以使用SystemSound,例如System.Media.SystemSounds.Asterisk.Play();

+4

+1很酷,我不知道 – 2010-08-17 12:30:12

+0

+1使用类似于'SystemColors'的内置实例。 – Shibumi 2012-03-08 21:07:42

+0

非常有用。它可以帮助使用系统默认值。 – 2014-04-30 19:45:10

7

其他信息。

对于想要无缝融入Windows环境的应用程序,这是一个高级别的答案。播放特定声音的技术细节在其他答案中提供。除此之外,始终注意以下两点:

  1. 使用五个标准的系统声音在典型的场景,即

    • Asterisk的 - 玩的时候,你要突出当前事件

    • 问题 - 玩问题(系统消息框窗口弹这个)

    • 感叹号 - 与excalamation图标(系统消息框窗口中播放此一)

    • 蜂鸣(系统默认的声音)发挥

    • 关键性停止( “手”) - 玩错误(系统消息框窗口播放此图片)

    System.Media.SystemSounds的方法将为你玩。

  2. 由用户实现任何其他的声音可自定义的声音控制面板

    • 这样,用户可以轻松地更改或从你的应用程序中删除的声音,你不需要写任何用户界面,这一点 - 它是已经存在
    • 每个用户配置文件可以以自己的方式来覆盖这些声音
    • 操作方法:
2

要使用C#在Windows窗体播放音频文件,让我们检查简单的例子如下:

1.Go Visual Studio(VS-2008/2010/2012) - >文件菜单 - >单击新建项目。

2.在新建项目 - >单击Windows窗体应用程序 - >提供名称,然后单击确定。

将打开一个新的“Windows窗体”项目。

3.将工具箱中的按钮控件拖放到Windows窗体中。

4.双击该按钮以自动创建默认的Click事件处理程序,并添加以下代码。

此代码显示文件打开对话框并将结果传递给您将在下一步中创建的名为“playSound”的方法。

OpenFileDialog dialog = new OpenFileDialog(); 
dialog.Filter = "Audio Files (.wav)|*.wav"; 


if(dialog.ShowDialog() == DialogResult.OK) 
{ 
    string path = dialog.FileName; 
    playSound(path); 
} 

5.在button1_Click event hander下添加以下方法代码。

private void playSound(string path) 
{ 
    System.Media.SoundPlayer player = new System.Media.SoundPlayer(); 
    player.SoundLocation = path; 
    player.Load(); 
    player.Play(); 
} 

6.现在让我们通过按F5来运行应用程序来运行代码。

7.单击按钮并选择一个音频文件。文件加载后,声音将播放。

我希望这是初学者很有用的例子...