SoSoft项目之向WinForm添加声音资源并控制播放实例
本实例将使用System.Media.SoundPlayer类播放声音,所以先准备PCM 波形文件的声音文件。在源程序的下载包里有提供。本实例选用ringin.wav 文件。
一、添加声音资源
使用Visual Studio新建一个WinForm项目,将窗体命名为MainForm。在“解决方案资源管理器”面板里,打开Properties文件夹,双击资源文件“Resources.resx”。
在打开的页面点击“添加资源”右边的箭头后选择“添加现有文件...”。
在弹出对话框中选择声音文件。这样就把声音资源文件添加到程序集了。
二、播放声音文件
接下来就是在窗体里播放刚才添加的声音文件了。首先在窗体类里,定义一个播放器,代码如下:
SoundPlayer SoSoftPlayer= new SoundPlayer();
记得添加引用:using System.Media;
在窗体的构造方法里,加入指定声音文件的代码:
public MainForm() { InitializeComponent(); SoSoftPlayer.Stream = Properties.Resources.Ringin; }
在窗体上添加两个按钮,一个“播放"、一个“停止”。再添加一个提示标签,命名为label_Tips,Text设置为“点击播放按钮开始播放声音”。
在播放按钮的点击事件里,加入播放代码:
SoSoftPlayer.PlayLooping();//在新线程中循环播放sosoft.cnblogs.com label_Tips.Text = "音频正在播放中...";
在停止按钮的点击事件里,加入停止代码:
SoSoftPlayer.Stop(); label_Tips.Text = "点击播放按钮开始播放声音";
行了,按F5运行。
下面是MainForm.cs 的代码:
/* 柔城 2012-09-21 * sosoft.cnblogs.com */ using System; using System.Media; using System.Windows.Forms; namespace Sosoft.Cnblogs.Com { public partial class MainForm : Form { SoundPlayer SoSoftPlayer = new SoundPlayer(); public MainForm() { InitializeComponent(); SoSoftPlayer.Stream = Properties.Resources.Ringin; } private void button_Play_Click(object sender, EventArgs e) { SoSoftPlayer.PlayLooping();//在新线程中循环播放sosoft.cnblogs.com label_Tips.Text = "音频正在播放中..."; } private void button_Stop_Click(object sender, EventArgs e) { SoSoftPlayer.Stop(); label_Tips.Text = "点击播放按钮开始播放声音"; } } }
源代码下载地址:https://files.cnblogs.com/sosoft/SoSoftSound.rar
声音文件在Resources文件夹下。