柔城

SOSOFT articles

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文件夹下。

posted on 2012-09-21 21:58  柔城  阅读(4285)  评论(2编辑  收藏  举报

导航