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

  • 相关阅读:
    uni-app 轮播图
    uni-app 头部及底部导航
    Eapp 创建项目及简单应用
    nodeJS学习笔记 express获得GET和POST请求参数
    Promise 之基础详细介绍
    动态代理个人理解
    springboot实现日志记录
    调节 alert confirm prompt 的位置
    打印日志文件
    Java正则速成秘籍(三)之见招拆招篇
  • 原文地址:https://www.cnblogs.com/sosoft/p/sound.html
Copyright © 2020-2023  润新知