C#實(shí)現(xiàn)用于操作wav聲音文件的類(lèi)實(shí)例
本文實(shí)例講述了C#實(shí)現(xiàn)用于操作wav聲音文件的類(lèi)。分享給大家供大家參考。具體如下:
有了這個(gè)C#類(lèi),我們可以很輕易的調(diào)用本地wav文件進(jìn)行同步播放或者異步播放,大大簡(jiǎn)化了對(duì)wav文件的操作過(guò)程,如果你需要在項(xiàng)目中調(diào)用wav文件進(jìn)行聲音播放,可以使用這個(gè)C#類(lèi)。
using System; using System.Media; namespace DotNet.Utilities { /// <summary> /// 處理多媒體的公共類(lèi) /// </summary> public class MediaHandler { #region 同步播放wav文件 /// <summary> /// 以同步方式播放wav文件 /// </summary> /// <param name="sp">SoundPlayer對(duì)象</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)建一個(gè)SoundPlaryer類(lèi),并設(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對(duì)象</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)建一個(gè)SoundPlaryer類(lèi),并設(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對(duì)象</param> public static void StopWAV(SoundPlayer sp) { sp.Stop(); } #endregion } }
希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。
- c# 播放聲音的四種方法
- 教你如何用C#制作文字轉(zhuǎn)換成聲音程序
- C#實(shí)現(xiàn)通過(guò)winmm.dll控制聲音播放的方法
- C# winform中窗口關(guān)閉按鈕的隱藏與禁用詳解
- C# WinForm-Timer控件的使用
- C#用Topshelf創(chuàng)建Windows服務(wù)的步驟分享
- C# Winform中如何繪制動(dòng)畫(huà)示例詳解
- C# Winform調(diào)用百度接口實(shí)現(xiàn)人臉識(shí)別教程(附源碼)
- C# Winform程序?qū)崿F(xiàn)防止多開(kāi)的方法總結(jié)【親測(cè)】
- C#調(diào)用Win32的API函數(shù)--User32.dll
- C# Winfrom實(shí)現(xiàn)Skyline畫(huà)直線功能的示例代碼
- c# 通過(guò)WinAPI播放PCM聲音
相關(guān)文章
C#實(shí)現(xiàn)快遞api接口調(diào)用方法
這篇文章主要介紹了C#實(shí)現(xiàn)快遞api接口調(diào)用方法,主要是通過(guò)快遞API網(wǎng)接口的服務(wù),使用的時(shí)候直接申請(qǐng)個(gè)接口UID即可,有需要的小伙伴來(lái)參考下吧。2015-03-03深入理解C#索引器(一種支持參數(shù)的屬性)與屬性的對(duì)比
本篇文章是對(duì)C#索引器(一種支持參數(shù)的屬性)與屬性的對(duì)比進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06DataGridView實(shí)現(xiàn)點(diǎn)擊列頭升序和降序排序
這篇文章介紹了DataGridView實(shí)現(xiàn)點(diǎn)擊列頭升序和降序排序的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-02-02C#里SuperSocket庫(kù)不能發(fā)現(xiàn)命令的原因
這篇文章主要介紹C#里SuperSocket庫(kù)不能發(fā)現(xiàn)命令的原因,在使用SuperSocket來(lái)寫(xiě)服務(wù)器的過(guò)程中,這是一個(gè)非??焖俚拈_(kāi)發(fā)方式,也非常好用。不過(guò)學(xué)習(xí)的曲線有點(diǎn)高,在使用的過(guò)程中經(jīng)常會(huì)遇到各種各樣的問(wèn)題。下面來(lái)看看學(xué)習(xí)舉例說(shuō)明吧2021-10-10C#利用接口實(shí)現(xiàn)多語(yǔ)種選擇功能
這篇文章主要為大家詳細(xì)介紹了如何C#利用接口實(shí)現(xiàn)多語(yǔ)種選擇功能,即多語(yǔ)言切換的功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下2024-02-02C#對(duì)稱(chēng)加密與非對(duì)稱(chēng)加密實(shí)例
這篇文章主要介紹了C#對(duì)稱(chēng)加密與非對(duì)稱(chēng)加密實(shí)例,詳細(xì)分析了對(duì)稱(chēng)加密與非對(duì)稱(chēng)加密的原理與具體實(shí)現(xiàn)方法,具有一定的實(shí)用價(jià)值,需要的朋友可以參考下2014-10-10Unity 從UI中拖拽對(duì)象放置并拖動(dòng)效果 附demo
最近新接了個(gè)需求,要求模擬場(chǎng)景并生成3D對(duì)象,對(duì)象可以跟隨鼠標(biāo)移動(dòng)效果,今天小編把我實(shí)現(xiàn)的demo分享到腳本之家平臺(tái),對(duì)Unity UI拖拽相關(guān)知識(shí)感興趣的朋友跟隨小編一起學(xué)習(xí)吧2021-05-05C#構(gòu)造函數(shù)在基類(lèi)和父類(lèi)中的執(zhí)行順序
這篇文章介紹了C#構(gòu)造函數(shù)在基類(lèi)和父類(lèi)中的執(zhí)行順序,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-04-04