C# 从窗口选择声音并播放它们
我有一个WinForms应用程序。此应用程序有一个首选项部分,用户可以在其中选择在显示警报时播放哪些声音 是否可以有一个组合框,用户可以从Windows中选择存储的声音,如“紧急停止”、“紧急嘟嘟声”等。这些可在“控制面板”>>“声音和警报”部分找到C# 从窗口选择声音并播放它们,c#,.net,winforms,alerts,system-sounds,C#,.net,Winforms,Alerts,System Sounds,我有一个WinForms应用程序。此应用程序有一个首选项部分,用户可以在其中选择在显示警报时播放哪些声音 是否可以有一个组合框,用户可以从Windows中选择存储的声音,如“紧急停止”、“紧急嘟嘟声”等。这些可在“控制面板”>>“声音和警报”部分找到 是否也可以使用播放按钮来测试声音?播放系统声音不需要任何API,只需编写如下代码: // Plays the sound associated with the Asterisk system event. System.Media.SystemS
是否也可以使用播放按钮来测试声音?播放系统声音不需要任何API,只需编写如下代码:
// Plays the sound associated with the Asterisk system event.
System.Media.SystemSounds.Asterisk.Play();
SoundPlayer simpleSound = new SoundPlayer(@"c:\Path\To\Your\Wave\File.wav");
该类包含以下预定义的系统声音:
- 星号
- 嘟嘟声
- 感叹号
- 手
- 问题:
// Plays the sound associated with the Asterisk system event.
System.Media.SystemSounds.Asterisk.Play();
SoundPlayer simpleSound = new SoundPlayer(@"c:\Path\To\Your\Wave\File.wav");
当然您要查找的所有声音都可以通过获取,这些声音与触发声音的事件类型对应 此外,的对象提供了一个可以调用以异步播放该声音的 例如,要播放“临界停止”声音,只需编写以下代码:
System.Media.SystemSounds.Hand.Play();
试试这个:
private void Form1_Load(object sender, EventArgs e)
{
var systemSounds = new[]
{
System.Media.SystemSounds.Asterisk,
System.Media.SystemSounds.Beep,
System.Media.SystemSounds.Exclamation,
System.Media.SystemSounds.Hand,
System.Media.SystemSounds.Question
};
comboBox1.DataSource = systemSounds;
comboBox1.SelectedIndexChanged += new EventHandler(comboBox1_SelectedIndexChanged);
}
void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
((System.Media.SystemSound)comboBox1.SelectedItem).Play();
}
声音集是可扩展的,也许您注意到了VisualStudio构建的声音?在superuser.com上询问它们在注册表中的存储位置。尽量避免重新设计Windows的标准部件。