我有一个用C#/。NET编写的Windows应用程序。
单击按钮时如何播放特定的声音?
我有一个用C#/。NET编写的Windows应用程序。
单击按钮时如何播放特定的声音?
Answers:
您可以使用:
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()
}
}
这也适用于WPF,但是您还有其他选择,例如使用MediaPlayer
MSDN页面
ButtonClick
,仅仅是因为它似乎遵循了C#的命名风格。
对于希望无缝适应Windows环境的应用程序,这是一个高级答案。其他答案中提供了播放特定声音的技术细节。除此之外,请始终注意以下两点:
在典型的场景中使用五种标准的系统声音,即
星号 -要突出显示当前事件时播放
问题 -玩问题(系统消息框窗口播放此问题)
感叹号 -播放感叹号图标(系统消息框窗口播放此图标)
哔声(默认系统声音)
紧急停止(“手”)-播放错误(系统消息框窗口播放此错误)
上课的方法System.Media.SystemSounds
会帮你玩。
在声音控制面板中实现用户可自定义的其他声音
System.Media.SystemSounds.Hand.Play(); Thread.Sleep(2000);
播放声音Hand。请注意,它是异步播放的,在这里我添加了一个sleep命令来等待声音的完成。如果您不等待而播放另一种声音,则上一个声音会立即停止。
下面的代码允许播放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);
要使用C#以Windows形式播放音频文件,让我们检查以下简单示例:
1.转到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事件处理程序下添加以下方法代码。
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();
这是播放声音的另一种方法。