本文實例講述了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#程序設計有所幫助。
新聞熱點
疑難解答