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

时间:2010-08-17 12:22:13

标签: c# .net audio

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

单击按钮时如何播放特定声音?

7 个答案:

答案 0 :(得分:197)

您可以使用:

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

答案 1 :(得分:80)

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

答案 2 :(得分:30)

对于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,但您还有其他选项,例如使用MediaPlayer MSDN page

答案 3 :(得分:10)

其他信息。

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

  1. 在典型情况下使用五种标准系统声音,即

    • Asterisk - 当您想要突出显示当前事件时播放

    • 问题 - 播放问题(系统信息框窗口播放此内容)

    • 感叹号 - 使用excalamation图标播放(系统消息框窗口播放此内容)

    • 提示音(默认系统声音)

    • 严重停止(“手”) - 播放错误(系统消息框窗口播放此内容)

    班级System.Media.SystemSounds的方法会为你播放。

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

    • 通过这种方式,用户可以轻松地更改或删除应用程序中的声音,而无需为此编写任何用户界面 - 它已经存在
    • 每个用户个人资料都可以自己覆盖这些声音
    • 操作方法:

答案 4 :(得分:8)

代码bellow允许播放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

答案 5 :(得分:2)

要使用C#播放Windows窗体中的音频文件,请按以下步骤检查简单示例:

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

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

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

3.将Button控件从工具箱拖放到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事件处理器下添加以下方法代码。

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

6.现在只需按F5运行代码即可运行应用程序。

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

我希望这对初学者来说是有用的例子......

答案 6 :(得分:0)

我认为您必须首先将.wav文件添加到参考资料。例如,您有一个名为Sound.wav的声音文件。将Sound.wav文件添加到Resources之后,可以使用以下代码:

System.Media.SoundPlayer player = new System.Media.SoundPlayer(Properties.Resources.Sound);
player.Play();

这是另一种播放声音的方法。