软件编程
位置:首页>> 软件编程>> C#编程>> C#实现用于操作wav声音文件的类实例

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

作者:feige  发布时间:2021-08-15 22:06:25 

标签: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#程序设计有所帮助。

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com