欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#实现用于操作wav声音文件的类实例

程序员文章站 2023-12-12 14:39:28
本文实例讲述了c#实现用于操作wav声音文件的类。分享给大家供大家参考。具体如下: 有了这个c#类,我们可以很轻易的调用本地wav文件进行同步播放或者异步播放,大大简化了...

本文实例讲述了c#实现用于操作wav声音文件的类。分享给大家供大家参考。具体如下:

有了这个c#类,我们可以很轻易的调用本地wav文件进行同步播放或者异步播放,大大简化了对wav文件的操作过程,如果你需要在项目中调用wav文件进行声音播放,可以使用这个c#类。

using system;
using system.media;
namespace dotnet.utilities
{
  /// <summary>
  /// 处理多媒体的公共类
  /// </summary>
  public class mediahandler
  {
    #region 同步播放wav文件
    /// <summary>
    /// 以同步方式播放wav文件
    /// </summary>
    /// <param name="sp">soundplayer对象</param>
    /// <param name="wavfilepath">wav文件的路径</param>
    public static void syncplaywav(soundplayer sp, string wavfilepath)
    {
      try
      {
        //设置wav文件的路径
        sp.soundlocation = wavfilepath;
        //使用异步方式加载wav文件
        sp.loadasync();
        //使用同步方式播放wav文件
        if (sp.isloadcompleted)
        {
          sp.playsync();
        }
      }
      catch (exception ex)
      {
        string errstr = ex.message;
        throw ex;
      }
    }
    /// <summary>
    /// 以同步方式播放wav文件
    /// </summary>
    /// <param name="wavfilepath">wav文件的路径</param>
    public static void syncplaywav(string wavfilepath)
    {
      try
      {
        //创建一个soundplaryer类,并设置wav文件的路径
        soundplayer sp = new soundplayer(wavfilepath);
        //使用异步方式加载wav文件
        sp.loadasync();
        //使用同步方式播放wav文件
        if (sp.isloadcompleted)
        {
          sp.playsync();
        }
      }
      catch (exception ex)
      {
        string errstr = ex.message;
        throw ex;
      }
    }
    #endregion
    #region 异步播放wav文件
    /// <summary>
    /// 以异步方式播放wav文件
    /// </summary>
    /// <param name="sp">soundplayer对象</param>
    /// <param name="wavfilepath">wav文件的路径</param>
    public static void asyncplaywav(soundplayer sp, string wavfilepath)
    {
      try
      {
        //设置wav文件的路径
        sp.soundlocation = wavfilepath;
        //使用异步方式加载wav文件
        sp.loadasync();
        //使用异步方式播放wav文件
        if (sp.isloadcompleted)
        {
          sp.play();
        }
      }
      catch (exception ex)
      {
        string errstr = ex.message;
        throw ex;
      }
    }
    /// <summary>
    /// 以异步方式播放wav文件
    /// </summary>
    /// <param name="wavfilepath">wav文件的路径</param>
    public static void asyncplaywav(string wavfilepath)
    {
      try
      {
        //创建一个soundplaryer类,并设置wav文件的路径
        soundplayer sp = new soundplayer(wavfilepath);
        //使用异步方式加载wav文件
        sp.loadasync();
        //使用异步方式播放wav文件
        if (sp.isloadcompleted)
        {
          sp.play();
        }
      }
      catch (exception ex)
      {
        string errstr = ex.message;
        throw ex;
      }
    }
    #endregion
    #region 停止播放wav文件
    /// <summary>
    ///
    /// </summary>
    /// <param name="sp">soundplayer对象</param>
    public static void stopwav(soundplayer sp)
    {
      sp.stop();
    }
    #endregion
  }
}

希望本文所述对大家的c#程序设计有所帮助。

上一篇:

下一篇: