如何在C#,.NET中播放声音

我有一个用C#/。NET编写的Windows应用程序。

单击button时如何播放特定的声音?

你可以使用:

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

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

对于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页面

这也将与WPF一起工作,但您有其他select,如使用MediaPlayer MSDN页面

代码波纹pipe允许播放MP3文件和内存中的波形文件

 player.FileName = "123.mp3"; player.Play(); 

http://alvas.net/alvas.audio,samples.aspx#sample6或;

 Player pl = new Player(); byte[] arr = File.ReadAllBytes(@"in.wav"); pl.Play(arr); 

http://alvas.net/alvas.audio,samples.aspx#sample7

附加信息。

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

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

    • 星号 – 当你想突出显示当前事件时播放

    • 问题 – 玩问题(系统消息框窗口播放此问题)

    • 惊叹号 – 玩excalamation图标(系统消息框窗口播放这一个)

    • 哔声 (默认系统声音)

    • 关键停止 (“手”) – 玩错误(系统消息框窗口播放这个)

    System.Media.SystemSounds方法将为您播放它们。

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

    • 这样用户可以轻松地更改或删除应用程序中的声音,并且不需要为此编写任何用户界面 – 它已经在那里了
    • 每个用户configuration文件可以以自己的方式覆盖这些声音
    • 如何:
      • 在Windowsregistry中创build应用程序的声音configuration文件 (提示:不需要编程,只需将密钥添加到应用程序的安装程序中。)
      • 在您的应用程序中,从您的registry项中读取声音文件path或DLL资源并播放它。 (如何播放声音,你可以看到其他答案。)

使用C#在Windows窗体中播放audio文件让我们来看一下简单的例子,如下所示:

1.进入Visual Studio(VS-2008/2010/2012) – >文件菜单 – >点击新build项目。

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

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

3.从工具箱拖放一个button控件到Windows窗体。

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

此代码显示“文件打开”对话框,并将结果传递给您将在下一步中创build的名为“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(); } 

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

7.点击button并select一个audio文件。 文件加载后,声音将播放。

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