上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
Oscar 稍嫌羞澀的路人
註冊時間: 2009-06-09 文章: 2
30.86 果凍幣
|
發表於: 2009-6-9, PM 8:03 星期二 文章主題: [問題][vc++]關於SoundPlayer的問題 |
|
|
我寫了一個接東西的遊戲(以下是我開聲音的程式碼)
song = gcnew System::Media::SoundPlayer();
song->SoundLocation = "mainmusi.wav";
song->PlayLooping();
但是我想要在bottonclick內在開一個聲音檔時,如下
System::Media::SoundPlayer ^get;
get = gcnew System::Media::SoundPlayer();
get->SoundLocation = "Flygetson.wav";
但是當get->play();執行時卻會把上面的song關掉...有高手解答一下嗎? |
|
回頂端 |
|
|
babu61509 散播福音的祭司
註冊時間: 2007-08-26 文章: 142
681.01 果凍幣
|
發表於: 2009-6-9, PM 11:44 星期二 文章主題: |
|
|
難得有人在問CLI的東西...
===========================================
答案是『不能』
壞?
beacuse...
摘自 : http://msdn.microsoft.com/zh-tw/library/bb629370.aspx
引言回覆: |
SoundPlayer 的 .NET Compact Framework 實作與桌上型電腦實作的差異如下:
* .NET Compact Framework 只支援 PCM 編碼檔案 (未壓縮音效)。
* 在裝置上,同時可播放多個音效。在桌上型電腦,則只會播放最後一個音效。
* 在裝置上,應用程式會等到播放完畢才結束。如果音效以應用程式迴圈播放,應用程式就永遠不會結束。為避免上述情況,您可以在 SoundPlayer 物件上呼叫 Stop 或 Dispose 方法,來明確終止播放。
|
===========================================
可以去找找 DirectShow 或是 透過 Windows Media Player 播放?
或是再找找看其他的替代方式? 當然要用DirectSound也OK ~ _________________ 已經畢業了!! |
|
回頂端 |
|
|
happylin 略有貢獻的成員
註冊時間: 2007-07-26 文章: 70
127.34 果凍幣
|
發表於: 2009-6-10, AM 9:21 星期三 文章主題: |
|
|
babu61509 寫到: | 難得有人在問CLI的東西...
或是再找找看其他的替代方式? 當然要用DirectSound也OK ~ |
用direct sound 可以
不過實在很麻煩
因為通通要自己處理. direct sound 會給你一個 buffer .那個buffer 用來存放pcm data 沒有壓縮的. 你必須自己把要撥放的資料放到buffer . 當然. 不可能讓你開非常大的buffer 把整個.wav 檔都放進去. 所以. 必須邊放音樂. 邊把資料填到buffer .
所以. direct sound 比較適合用來放音效. 比較不適合放背景音樂 |
|
回頂端 |
|
|
|