2015-06-06 74 views
-2

因此,我使用匯編語言進行遊戲,並使用PlaySound()函數播放背景歌曲。我想在遊戲「死亡」之後做到這一點,另一個聲音文件將開始播放聲音文件,並同時停止播放其他背景歌曲。在masm32中播放聲音文件並同時停止其他聲音文件

+1

您尚未提供足夠多的細節。什麼「PlaySound()」功能?哪個版本的Windows(或DOS,我想)?到目前爲止你寫了什麼?它以什麼方式不符合你的期望? –

+0

我使用贏8我寫了很多代碼,因爲它的遊戲。我運行這樣的聲音文件 「調用PlaySound,偏移」文件的名稱「,NULL,SND_ASYNS」 – user4825345

+2

如果你不願意共享代碼並解釋它沒有做到你期望的那樣,你可能會發現這裏沒有人會幫助你。 :) –

回答

1

閱讀文檔。

PlaySound function

pszSound
指定播放聲音的字符串。最大長度(包括空終止符)是256個字符。 如果此參數爲NULL,則當前正在播放的波形聲音將停止。要停止非波形聲音,請在fdwSound參數中指定SND_PURGE。

...

fdwSound
標誌用於播放聲音。以下值被定義。
...
SND_ASYNC
聲音被異步播放,PlaySound在聲音開始後立即返回。 要終止異步播放的波形聲音,請將pszSound設置爲NULL並調用PlaySound。

所以你需要調用PlaySound()三次 - 一個啓動的背景音樂,一個阻止它,並打一處來的下一個聲音。

invoke PlaySound,offset "the name of the bkgnd file",NULL,SND_ASYNC 
... 
invoke PlaySound,NULL,NULL,SND_ASYNC 
invoke PlaySound,offset "the name of the other file",NULL,SND_ASYNC 
+0

非常感謝!有效 ! – user4825345