C#實現(xiàn)用于操作wav聲音文件的類實例
更新時間:2015年03月30日 12:34:46 作者:feige
這篇文章主要介紹了C#實現(xiàn)用于操作wav聲音文件的類,實例分析了C#操作wav音頻文件的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
本文實例講述了C#實現(xiàn)用于操作wav聲音文件的類。分享給大家供大家參考。具體如下:
有了這個C#類,我們可以很輕易的調(diào)用本地wav文件進(jìn)行同步播放或者異步播放,大大簡化了對wav文件的操作過程,如果你需要在項目中調(diào)用wav文件進(jìn)行聲音播放,可以使用這個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 { //設(shè)置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 { //創(chuàng)建一個SoundPlaryer類,并設(shè)置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 { //設(shè)置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 { //創(chuàng)建一個SoundPlaryer類,并設(shè)置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#程序設(shè)計有所幫助。
您可能感興趣的文章:
- c# 播放聲音的四種方法
- 教你如何用C#制作文字轉(zhuǎn)換成聲音程序
- C#實現(xiàn)通過winmm.dll控制聲音播放的方法
- C# winform中窗口關(guān)閉按鈕的隱藏與禁用詳解
- C# WinForm-Timer控件的使用
- C#用Topshelf創(chuàng)建Windows服務(wù)的步驟分享
- C# Winform中如何繪制動畫示例詳解
- C# Winform調(diào)用百度接口實現(xiàn)人臉識別教程(附源碼)
- C# Winform程序?qū)崿F(xiàn)防止多開的方法總結(jié)【親測】
- C#調(diào)用Win32的API函數(shù)--User32.dll
- C# Winfrom實現(xiàn)Skyline畫直線功能的示例代碼
- c# 通過WinAPI播放PCM聲音
相關(guān)文章
深入理解C#索引器(一種支持參數(shù)的屬性)與屬性的對比
本篇文章是對C#索引器(一種支持參數(shù)的屬性)與屬性的對比進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06DataGridView實現(xiàn)點擊列頭升序和降序排序
這篇文章介紹了DataGridView實現(xiàn)點擊列頭升序和降序排序的方法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-02-02C#里SuperSocket庫不能發(fā)現(xiàn)命令的原因
這篇文章主要介紹C#里SuperSocket庫不能發(fā)現(xiàn)命令的原因,在使用SuperSocket來寫服務(wù)器的過程中,這是一個非??焖俚拈_發(fā)方式,也非常好用。不過學(xué)習(xí)的曲線有點高,在使用的過程中經(jīng)常會遇到各種各樣的問題。下面來看看學(xué)習(xí)舉例說明吧2021-10-10C#構(gòu)造函數(shù)在基類和父類中的執(zhí)行順序
這篇文章介紹了C#構(gòu)造函數(shù)在基類和父類中的執(zhí)行順序,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-04-04