本實例將使用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 = "點擊播放按鈕開始播放聲音"; } } }
源代碼下載地址:http://files.cnblogs.com/sosoft/SoSoftSound.rar
聲音文件在Resources文件夾下。