那天說了c#不好弄ogg和mp3的解碼,然後就發現打臉了。
找到了一些開源的解碼器,由於ogg的音質容量比要明顯好於mp3,主要弄ogg的播放。
由於自帶解碼器,可以實現全平臺下載並播放,甚至可以實現邊下邊播。
原始碼見
https://github.com/lightszero/BlockFun/tree/master/unity/oggP
適配了兩個解碼器
一個CSVorbis,這個實現有一些問題,聲音播放出來略有變調,感覺噪音也有些大。
這個CSVorbis是從一個開源的XNA專案中改造過來的,也有可能是我的改造除了問題。
又找了另外一個叫做 NVorbis的解碼器,這個實現明顯專業了許多,修改了一點Unity不相容的程式碼,整個庫不需要改造,直接適配即可。
聲音很正常,比較完美。