首页 > 编程 > C# > 正文

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

2020-01-24 02:04:36
字体:
来源:转载
供稿:网友

本文实例讲述了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#程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表