6進(jìn)階音效控制與管理

6進(jìn)階音效控制與管理

ID:33551108

大小:235.50 KB

頁(yè)數(shù):17頁(yè)

時(shí)間:2019-02-27

6進(jìn)階音效控制與管理_第1頁(yè)
6進(jìn)階音效控制與管理_第2頁(yè)
6進(jìn)階音效控制與管理_第3頁(yè)
6進(jìn)階音效控制與管理_第4頁(yè)
6進(jìn)階音效控制與管理_第5頁(yè)
資源描述:

《6進(jìn)階音效控制與管理》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。

1、摘要以XNA為基礎(chǔ)的游戲程序可以利用SoundEffect類別的功能執(zhí)行簡(jiǎn)單的音效播放,或是利用SoundEffectInstance類別進(jìn)行進(jìn)階的音效播放控制,包括播放、暫停、恢復(fù)、結(jié)束、是否要播放3D的音效、控制聲音從左邊或右邊的聲道輸出、控制音調(diào)高低、以及控制音量等等。在這一回的文章中,我們將介紹利用SoundEffectInstance類別進(jìn)行進(jìn)階音效控制的做法,除此之外,我們也將會(huì)介紹支持組織和管理聲音文件的XACT(Cross-platformAudioCreationTool)工具。有關(guān)XNAFramework提供的SoundEffect類別和SoundEff

2、ectInstance類別的基本功能和使用方法可以參考[XNA交互式游戲設(shè)計(jì)]一文的說(shuō)明。進(jìn)階音效控制WindowsPhone7智能型手機(jī)并非只能播放一種音效,以XNA為基礎(chǔ)的游戲程序可以同時(shí)播放64種聲音,達(dá)成混合多種音效的效果。除此之外,XNAFramework也支持動(dòng)態(tài)播放音效,例如播放應(yīng)用程序執(zhí)行時(shí)期建立的音效,或是搭配麥克風(fēng)播放由外界輸入的音效。[提示]WindowsPhone7智能型手機(jī)支持同時(shí)播放多達(dá)64種的音效,但是Xbox360游戲機(jī)支持播放多達(dá)300種的音效,可以播放更豐富的聲音效果,而Windows操作系統(tǒng)則是未限制可以同時(shí)播放的音效數(shù)目。當(dāng)游戲程序想

3、要仿真環(huán)繞音效的時(shí)候,可以利用SoundEffectInstance類別的Pan屬性控制音效要從左方發(fā)聲,還是要從右方發(fā)聲。Pan屬性是一個(gè)介于-1.0與1.0之間的數(shù)值,其值為-1.0表示要從左方發(fā)聲,其值為1.0表示要從右方發(fā)聲,而其值為0則表示要從中央發(fā)聲,其默認(rèn)值為0。當(dāng)游戲程序需要控制所播放的音效的音調(diào)高低時(shí),就可以利用SoundEffectInstance類別的Pitch屬性進(jìn)行控制。Pitch屬性是一個(gè)介于-1.0與1.0之間的數(shù)值,其值為-1.0表示音調(diào)最低,其值為1.0表示音調(diào)最高,其默認(rèn)值為0。當(dāng)游戲程序需要控制所播放的音效的音量時(shí),就可以利用Sound

4、EffectInstance類別的Volume屬性進(jìn)行控制。Volume屬性是一個(gè)介于.0與1.0之間的數(shù)值,其值為0表示音量最小(靜音),其值為1表示音量最大,其默認(rèn)值為1。請(qǐng)注意透過(guò)SoundEffectInstance類別控制的音量取決于SoundEffect類別的MasterVolume屬性的內(nèi)容值,換句話說(shuō)將SoundEffectInstance類別的Volume屬性的內(nèi)容值設(shè)定為1,所呈現(xiàn)的最大音量就是SoundEffect類別的MasterVolume屬性設(shè)定的音量。例如游戲程序想呈現(xiàn)環(huán)繞音效的效果,可以先把欲播放的聲音文件加入到ContentPipeline

5、項(xiàng)目中,然后于Game1類別宣告以下的變量,負(fù)責(zé)管理音效資源、SoundEffectInstance類別的對(duì)象、以及記錄音效移動(dòng)的方向:SoundEffectRingOut;//管理音效資源的變數(shù)SoundEffectInstanceRingOutEffect;//管理SoundEffectInstance類別的物件的變數(shù)boolbPaneLeft=false;//記錄音效移動(dòng)方向的變數(shù)宣告妥變量之后請(qǐng)于Game1類別的LoadContent方法加入以下的程序代碼,負(fù)責(zé)加載音效資源和建立SoundEffectInstance類別的對(duì)象:RingOut=Content.Loa

6、d("RingOut");//載入名稱為RingOut的音效資源RingOutEffect=RingOut.CreateInstance();//建立SoundEffectInstance類別的物件RingOutEffect.IsLooped=true;//設(shè)定音效要不斷地重覆播放加載音效資源并建立妥SoundEffectInstance類別的對(duì)象之后,我們只要在Game1類別的Update方法中變更SoundEffectInstance類別的對(duì)象的Pan屬性的內(nèi)容值,就可以變更音效發(fā)聲的位置,例如以下的程序:if(bPaneLeft)//判斷音效

7、發(fā)聲的位置是否為往左移動(dòng){if(RingOutEffect.Pan-0.1<=-1)//如果已經(jīng)無(wú)法往左移動(dòng){RingOutEffect.Pan=-1f;//設(shè)定音效從左方發(fā)聲bPaneLeft=true;//設(shè)定移動(dòng)方向?yàn)橥乙苿?dòng)}elseRingOutEffect.Pan-=0.1f;//設(shè)定發(fā)聲位置往左移動(dòng)0,1}else//音效發(fā)聲的位置為往右移動(dòng){if(RingOutEffect.Pan+0.1>=1)//如果已經(jīng)無(wú)法往右移動(dòng){RingOutEffect.Pan=1f;//設(shè)定音效從右方發(fā)聲bPaneLe

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。