using System; using System.Media; namespace DotNet.Utilities { /// /// 处理多媒体的公共类 /// public class MediaHandler { #region 同步播放wav文件 /// /// 以同步方式播放wav文件 /// /// SoundPlayer对象 /// wav文件的路径 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; } } /// /// 以同步方式播放wav文件 /// /// wav文件的路径 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文件 /// /// 以异步方式播放wav文件 /// /// SoundPlayer对象 /// wav文件的路径 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; } } /// /// 以异步方式播放wav文件 /// /// wav文件的路径 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文件 /// /// /// /// SoundPlayer对象 public static void StopWAV(SoundPlayer sp) { sp.Stop(); } #endregion } } //csharp/8580