当前位置: 移动技术网 > IT编程>开发语言>c# > C#实现用于操作wav声音文件的类实例

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

2019年07月18日  | 移动技术网IT编程  | 我要评论
本文实例讲述了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#程序设计有所帮助。

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网