加入BLOG ADS 寫手們來加入吧!

XNA3.0 發布的時候看了What's new的文件,看到可以支援MP3等音樂格式

裝好以後,我馬上打開了XACT,愕然發現...

XNA3.0的XACT竟然還是2.0版本...

這時候我就好奇了,MP3他到底是怎麼播放的

打開了Document我看到事實上非常的簡單...

只要先宣告SoundEffect的物件,像

SoundEffect se;

然後在LoadContent的地方打入一下內容

se = Content.Load<SoundEffect>((字串)歌曲名稱);

然後就可以播放歌曲

se.play();

SoundEffect的物件有三個多載

1. 直接播放音樂 se.play() 全部用的都是Default值。

2. 設定聲音大小 se.play(float Volumn) 0.0f是靜音,1.0是最大聲

3. 設定聲音大小、音高、左右聲道、巡迴播放 se.play(1.0f,0.0f,0.0f,true)。

 

在編譯的時候如果出現錯誤時,請先確定你所選擇的Content Processor是否為SoundEffect。

因為mp3音樂的Default是Song Content Processor。

 

使用SoundEffect的時候要注意記憶體的使用量。因為在XBOX360的部分對於記憶體的使用有限制。

 

附註一提...SoundEffect大部分被用來播放音效的部分,所以就只有Play的方法,沒有Stop。

如果需要播放MP3的背景音樂,就需要用到Song的物件以集MediaPlayer的結合。

在SoundEffect的屬性中有一項Duration...他描述是說可以get和set

這時如果你assign一個值給他的時候,會出現錯誤~原因是因為他是readonly...

不知道是不是不小心打錯嘛ORZ

創作者介紹
創作者 teexit1224 的頭像
teexit1224

StreamWhite

teexit1224 發表在 痞客邦 留言(1) 人氣()


留言列表 (1)

發表留言
  • gnawhank
  • 可以再講的詳細一點嗎?
    看的有點糢糊@@ 另外要是我用的是2.0的也可以用MP3嗎 要怎嚜使用??
  • 可以播放MP3是在XNA3.0開始才會有的,其他能夠用在2.0的函式庫,都是只能跑在PC上面的...
    所以XNA2.0依般來說是沒有辦法播放MP3的,除非你有引用別人的寫函式庫!

    在3.0當中要能夠播放MP3,就用SoundEffect而不是XACT這個工具...
    只要宣告SoundEffect這個物件,我們就可以播放MP3...
    操作步驟如下
    1. 在Explorer Solution(方案總管)中的Content虛擬目錄,按下右鍵,新增已經存在的項目,把你的MP3歌曲新增進來。(這邊直得住意的是,當加入以後記得在歌曲的Content Processor中將他的processor改成SoundEffect,因為他預設是Song。不改的話編譯會出錯)
    2. 程式的地方需要建立soundeffect的變數。EX. SoundEffect se;。
    3. 在LoadContent中,打入se = Content.Load<SoundEffect>((字串)歌曲名稱);
    4. 載入完畢以後可以在LoadContent中直接se.Play()這樣就可以聽到聲音了。

    teexit1224 於 2008/11/04 21:51 回覆