麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

C#開源音頻處理類庫 NAudio

2019-11-11 05:15:18
字體:
來源:轉載
供稿:網友

  最近在嘗試C#播放聲音,C#中System.Media命名空間下的SoundPlayer類可以簡單播放wav聲音,但是有個問題就是同一時間內只能有一個聲音在播放,如果有一個背景聲音在播放,然后播放另一個聲音,則背景聲音會停止,創建多個實例,使用多線程都沒用,無奈只能想其他辦法。

  查看了資料,System.Media命名空間下的SoundPlayer類是基于winmm.dll的封裝,本來想重新封裝一個,但是一想,應該有現成的類庫吧,何必造輪子。百度搜索果然有一個開源的音頻類庫:NAudio,看了更新歷史記錄,從2007年開始一直到現在作者都在更新,可見作者持之以恒的精神,免費開源的軟件能夠堅持下來的并不多。

NAudio官方地址:http://naudio.codeplex.com/

GitHub地址:https://github.com/naudio/NAudio

NAudio主要的功能:

1、支持多種API播放音頻,WaveOut、DirectSound、ASIO、WASAPI (Windows Vista及以上)

2、支持多種音頻格式解壓縮,MP3(ACM或者DMO解碼)、AIFF、G.711(mu-law或者a-law)、ADPCM、G.722、Speex、SF2

3、可以解碼任意ACM編碼的音頻

4、支持WaveIn、WASAPI、ASIO錄音

5、支持讀寫標準WAV格式的文件

6、使用32位混音引擎

6、提供MIDI文件多種讀寫方式

作者還提供了很多教程和示例程序,有時間再慢慢消化吧一、簡單的音頻播放示例程序:http://pan.baidu.com/s/1pLAVi11

我參考官方示例簡單封裝了一個BSoundPlayer類,這個WAV播放類的特點:

1、簡單易用,聲明一個對象,指定文件路徑,Play(),Stop()就可以了,支持調整音量,同時可以輸出音頻文件總時間,當前播放時間

2、同一個對象在播放完畢(或者手動停止)之前無法再次播放

3、不同對象可以同時播放

4、每次播放完畢,自動釋放資源

這個類最大的缺點就是在播放結束之前不能再次播放,對于按鈕快速點擊聲音這樣的需求不能滿足,但是可以用來播放時間比較長的背景音樂,與System.Media命名空間下的SoundPlayer類可以同時播放,配合System.Media命名空間下的SoundPlayer類用來做快速短暫的播放,基本可以滿足游戲聲音播放的需求了。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 91成人免费电影 | 国产精品久久久久无码av | 超久久| 精品中文字幕在线播放 | 日本精品一区二区 | 中日韩乱码一二新区 | 日本黄色免费播放 | 欧美韩国一区 | 久草在线观看资源 | 国产在线观看 | 92看片淫黄大片欧美看国产片 | 毛片网站视频 | 久久久久久久久久久久久久av | 天天夜夜草 | 欧美精品一区二区三区久久久 | 五月天影院,久久综合, | 中文字幕一区久久 | 久在线播放 | 一级视频在线播放 | 亚洲国产精品一区二区三区 | 午夜精品久久久久久久久久久久久蜜桃 | 亚洲国产一区二区三区 | 蜜桃视频在线免费播放 | 亚洲成人欧美在线 | 国产一及毛片 | 99精品无人区乱码在线观看 | 毛片免 | 国产日韩精品欧美一区视频 | 国产精品91久久久 | 有色视频在线观看 | 国产精品免费视频观看 | 国产www免费 | 色猫av| 免费一级毛片在线播放视频 | 欧美一级精品 | 久久成人国产精品 | 欧美aⅴ视频 | 日韩每日更新 | 国产一区影院 | 一级大片在线观看 | 55夜色66夜色国产精品视频 |