淺談在Unity3D中使用CriWare播放聲音

在游戲開發(fā)中的音頻解決方案狼速,CriWare 是不錯的選擇挠锥,很多游戲大作也在使用朴肺。為什么使用CriWare呢缩筛?對于游戲運行時驹闰,可以顯著提高加載速度減小包體大小场刑。而對于音頻制作上录豺,可以很方便地做更多的效果瞳浦,例如多音源的避讓等喷舀。

今天我們就來淺淺地聊一下在 Unity3D 中使用 CriWare 播放聲音砍濒,以及聲音的管理等問題。

音頻文件由做音頻的同學使用CriWare的軟件去制作硫麻,最終導出的文件是以acb或awb為擴展名的文件爸邢。如果采用的是Memory的形式,則導出的acb文件拿愧。

對于開發(fā)來說杠河,首先要知道兩個東西,一個是CueSheet浇辜,一個是CueName券敌。在音頻制作的時候,多個音頻可以打成一個組柳洋,每一個音頻的名字待诅,就是CueName,而這個組熊镣,就是CueSheet卑雁。我們要播放一個聲音,首先要知道聲音的名字绪囱,就是CueName测蹲,還要知道它所在的組,因為要加載到內(nèi)存中鬼吵。即使要播放組中的一個音頻扣甲,也是要把整個組加載到內(nèi)存中的。

所以在制作時齿椅,音頻那邊的同學要規(guī)劃好文捶,哪些音頻要在同一個組,哪些音頻要在另外的組媒咳。當然粹排,可以一個音頻一個組,但是打成組可以做很多事情涩澡,這個等我請教一個音頻那邊的同學再補充顽耳。

先將聲音播放出來

  1. 首先把CriWare插件導入到Unity中

  2. 將做好的聲音ACB文件放入StreamingAssets目錄中

  3. 新建一個空物體,然后掛載CriAtom組件如下圖


    image

    CriAtom 用于管理CueSheet,只有將CueSheet加入到CriAtom中射富,才能播放其中的某一個音頻膝迎。將CueSheet加入到CriAtom中,意味著這個CueSheet會被加載到內(nèi)存中胰耗,移除CueSheet限次,則會從內(nèi)存中卸載。

    上圖中每點擊 Add CueSheet柴灯,就可以填入一個新的CueSheet卖漫,Name字段就是ACB文件的名字(不帶擴展名),ACB File字段填寫ACB文件名字(帶擴展名)赠群。例如上圖中我已經(jīng)填了一個示例羊始。

  4. 新建一個空物體,然后掛載 CriAtomSource 組件查描。這個組件突委,可以理解為Unity的AudioSource,就是用來播聲音的冬三。

image

上圖中匀油,CueSheet字段,填寫要播放的音源勾笆,所在的CueSheet名(不帶擴展名)钧唐,而CueName,就填寫要播放的聲音的名字匠襟。這些名字钝侠,都是做音頻的同學定好的。勾選上 Play On Start酸舍,然后運行Unity帅韧,就可以聽到聲音。

上面只是實現(xiàn)了聲音能夠播出來啃勉,要在真正的項目中使用忽舟,還需要管理聲音,下面將說一下大概的思路淮阐。

聲音管理器

基本思路是這樣的叮阅,首先有一個聲音管理器我們稱為AudioManager,提供接口播放聲音泣特,停止聲音浩姥,暫停聲音,恢復聲音状您,播放完畢勒叠,CueSheet加載卸載兜挨。外面模塊調(diào)用AudioManager去控制聲音。

調(diào)用 AudioManager 播放聲音的接口時眯分,會生成一個新的對象, GameObject拌汇,掛載一個腳本,我們稱為 AudioPlayer弊决,這個 AudioPlayer 中會動態(tài)的掛載 CriAudioSource噪舀,然后將我們要播放的CueSheet,CueName這些值通過AudioManager傳進去飘诗,設置 CriAudioSource 參數(shù)与倡,然后調(diào)用 CriAudioSource的 Play 函數(shù)。

當調(diào)用 AudioManager 的播放聲音接口時疚察,AudioManager 會動態(tài)記錄這個 CueSheet 是否已經(jīng)添加到 CriAtom 中,如果沒有仇奶,則會添加貌嫡,這時,CriAtom會去加載聲音文件到內(nèi)存中该溯。

AudioManager 在聲音播放完岛抄,或者 GameObject 被銷毀時,需要調(diào)用 AudioManager 的播放完畢接口狈茉,用于計數(shù)夫椭。這個計數(shù),是為了讓 AudioManager 知道一個CueSheet中氯庆,是否還有聲音在播放蹭秋,如果沒有了,則要動態(tài)將 CueSheet 從 CriAtom 中移除掉堤撵,釋放內(nèi)存仁讨。

具體代碼我還沒寫,請等待我有時間再補充~实昨。





一般不會有時間了...哈哈哈哈哈哈...

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末洞豁,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子荒给,更是在濱河造成了極大的恐慌丈挟,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,839評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件志电,死亡現(xiàn)場離奇詭異曙咽,居然都是意外死亡,警方通過查閱死者的電腦和手機挑辆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評論 2 382
  • 文/潘曉璐 我一進店門桐绒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來夺脾,“玉大人,你說我怎么就攤上這事茉继∵职龋” “怎么了?”我有些...
    開封第一講書人閱讀 153,116評論 0 344
  • 文/不壞的土叔 我叫張陵烁竭,是天一觀的道長菲茬。 經(jīng)常有香客問我,道長派撕,這世上最難降的妖魔是什么婉弹? 我笑而不...
    開封第一講書人閱讀 55,371評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮终吼,結果婚禮上镀赌,老公的妹妹穿的比我還像新娘。我一直安慰自己际跪,他們只是感情好商佛,可當我...
    茶點故事閱讀 64,384評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著姆打,像睡著了一般良姆。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上幔戏,一...
    開封第一講書人閱讀 49,111評論 1 285
  • 那天玛追,我揣著相機與錄音,去河邊找鬼闲延。 笑死痊剖,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的垒玲。 我是一名探鬼主播邢笙,決...
    沈念sama閱讀 38,416評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼侍匙!你這毒婦竟也來了氮惯?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,053評論 0 259
  • 序言:老撾萬榮一對情侶失蹤想暗,失蹤者是張志新(化名)和其女友劉穎妇汗,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體说莫,經(jīng)...
    沈念sama閱讀 43,558評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡杨箭,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,007評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了储狭。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片互婿。...
    茶點故事閱讀 38,117評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡捣郊,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出慈参,到底是詐尸還是另有隱情呛牲,我是刑警寧澤,帶...
    沈念sama閱讀 33,756評論 4 324
  • 正文 年R本政府宣布驮配,位于F島的核電站娘扩,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏壮锻。R本人自食惡果不足惜琐旁,卻給世界環(huán)境...
    茶點故事閱讀 39,324評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望猜绣。 院中可真熱鬧灰殴,春花似錦、人聲如沸掰邢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,315評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽尸变。三九已至义图,卻和暖如春减俏,著一層夾襖步出監(jiān)牢的瞬間召烂,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,539評論 1 262
  • 我被黑心中介騙來泰國打工娃承, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留奏夫,地道東北人。 一個月前我還...
    沈念sama閱讀 45,578評論 2 355
  • 正文 我出身青樓历筝,卻偏偏與公主長得像酗昼,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子梳猪,可洞房花燭夜當晚...
    茶點故事閱讀 42,877評論 2 345

推薦閱讀更多精彩內(nèi)容