我有一个用 C #/. NET 编写的 Windows 应用程序。
当按钮被点击时,我如何播放特定的声音?
对于 Windows 窗体,一种方法是使用 SoundPlayer
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 页面
MediaPlayer
你可以用:
System.Media.SoundPlayer player = new System.Media.SoundPlayer(@"c:\mywavfile.wav"); player.Play();
可以使用 SystemSound,例如 System.Media.SystemSounds.Asterisk.Play();。
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 环境的应用程序来说,这是一个有点高级的答案。 其他答案提供了播放特定声音的技术细节。除此之外,请注意以下两点:
在典型场景中使用五种标准系统声音。
星号 -当你想突出显示当前事件时播放
问题 -玩问题游戏(系统消息框窗口玩这个)
感叹号 -使用感叹号图标(系统消息框窗口显示此图标)
(默认系统声音)
关键停止 (“ Hand”)-错误播放(系统消息框窗口播放这个)
类 System.Media.SystemSounds的方法将为您播放它们。
System.Media.SystemSounds
在 声音控制面板中实现用户可定制的任何其他声音
要使用 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();
这是另一种播放声音的方式。