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

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

当按钮被点击时,我如何播放特定的声音?

289850 次浏览

对于 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 一起工作,但您有其他选项,如使用 MediaPlayer MSDN 页面

你可以用:

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

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

下面的代码也允许播放 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. 在典型场景中使用五种标准系统声音。

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

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

    • 感叹号 -使用感叹号图标(系统消息框窗口显示此图标)

    • (默认系统声音)

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

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

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

    • 这样用户可以很容易地改变或删除声音从您的应用程序,您不需要为此编写任何用户界面-它已经存在
    • 每个用户配置文件都可以以自己的方式覆盖这些声音
    • 操作方法:
      • 在 Windows Registry 中创建应用程序的声音配置文件(提示: 不需要编程,只需将密钥添加到应用程序的安装程序中)
      • 在应用程序中,从注册表项中读取声音文件路径或 DLL 资源并播放它。(如何演奏你能在其他答案中看到的声音。)

要使用 C # 在 Windows 表单中播放音频文件,让我们检查下面的简单示例:

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

在 New Project —— > 单击 Windows Forms Application —— > Give Name,然后单击 OK。

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

将 Button 控件从“工具箱”拖放到 Windows 窗体。

双击按钮自动创建默认的 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();
}

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

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

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

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

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

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