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

 更新时间:2015年03月30日 12:34:46   作者:feige  
这篇文章主要介绍了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#程序设计有所帮助。

相关文章

  • 常用C#正则表达式汇总介绍

    常用C#正则表达式汇总介绍

    c#正则表达式,用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。
    2016-01-01
  • C#实现希尔排序算法的实践

    C#实现希尔排序算法的实践

    希尔排序算法是基于插入排序改进的一种排序方法,通过分组和递减增量的策略来提高排序效率,学习希尔排序可以帮助理解排序算法原理,拓宽算法思维,并解决实际问题,感兴趣的可以了解一下
    2024-10-10
  • C#使用加边法计算行列式的值

    C#使用加边法计算行列式的值

    这篇文章主要介绍了C#使用加边法计算行列式的值,实例分析了C#加边法计算行列式的原理与实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-08-08
  • Win Form 的 Splitter 使用心得与技巧

    Win Form 的 Splitter 使用心得与技巧

    Win Form 的 Splitter 使用心得与技巧...
    2007-04-04
  • C#图片添加水印的实现代码

    C#图片添加水印的实现代码

    这篇文章主要为大家详细介绍了C#给图片添加水印的实现代码,不仅可以为图片加文字水印,还可以判断是否是图片文件,感兴趣的小伙伴们可以参考一下
    2016-02-02
  • c# base64转字符串实例

    c# base64转字符串实例

    这篇文章主要介绍了c# base64转字符串实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • winform创建不规则窗体的方法

    winform创建不规则窗体的方法

    这篇文章主要介绍了winform创建不规则窗体的方法,涉及C#窗体创建的相关参数设置技巧,非常具有实用价值,需要的朋友可以参考下
    2015-09-09
  • C#截图程序类似腾讯QQ截图实现代码

    C#截图程序类似腾讯QQ截图实现代码

    拖动过程中显示当前鼠标下一小块的图像信息 尺寸、颜色信息的 注意 这里颜色是用的ARGB,需要的朋友可以参考下
    2012-12-12
  • C#实现为一张大尺寸图片创建缩略图的方法

    C#实现为一张大尺寸图片创建缩略图的方法

    这篇文章主要介绍了C#实现为一张大尺寸图片创建缩略图的方法,涉及C#创建缩略图的相关图片操作技巧,需要的朋友可以参考下
    2015-06-06
  • c#动态编译执行对象方法示例 运用映射机制创建对象

    c#动态编译执行对象方法示例 运用映射机制创建对象

    本示例核心技术是运用.NET动态编译技术+.NET映射技术,把一个代码块中的代码,动态编译成程序集后,在运用映射机制,创建对象示例,调用对象方法
    2014-01-01

最新评论