【发布时间】:2011-03-30 23:03:14
【问题描述】:
我有一个用 C#/.NET 编写的 Windows 应用程序。
如何在单击按钮时播放特定的声音?
【问题讨论】:
我有一个用 C#/.NET 编写的 Windows 应用程序。
如何在单击按钮时播放特定的声音?
【问题讨论】:
【讨论】:
ButtonClick,只是因为它看起来更像是遵循 C# 命名的风格。
你可以使用:
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);
【讨论】:
对于希望无缝融入 Windows 环境的应用程序,这有点高级别的答案。其他答案中提供了播放特定声音的技术细节。除此之外,请始终注意以下两点:
在典型场景中使用五种标准系统声音,即
星号 - 当你想突出当前事件时播放
问题 - 玩问题(系统消息框窗口播放这个)
感叹号 - 玩感叹号图标(系统消息框窗口播放这个)
哔声(默认系统声音)
紧急停止(“Hand”) - 播放错误(系统消息框窗口播放这个)
System.Media.SystemSounds 类的方法将为您播放。
在声音控制面板中实现用户可自定义的任何其他声音
【讨论】:
System.Media.SystemSounds.Hand.Play(); Thread.Sleep(2000); 播放声音 Hand。注意它是异步播放的,这里我添加了一个 sleep 命令来等待声音完成。如果您不等待并播放另一种声音,则前一种声音会立即停止。
要使用 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.单击按钮并选择一个音频文件。文件加载后,会播放声音。
我希望这是对初学者有用的例子......
【讨论】:
我认为您必须首先将 .wav 文件添加到资源中。例如,您有一个名为 Sound.wav 的声音文件。将 Sound.wav 文件添加到 Resources 后,您可以使用以下代码:
System.Media.SoundPlayer player = new System.Media.SoundPlayer(Properties.Resources.Sound);
player.Play();
这是另一种播放声音的方式。
【讨论】: