Winapi 在masm32中播放一个声音文件,同时停止另一个声音文件

Winapi 在masm32中播放一个声音文件,同时停止另一个声音文件,winapi,assembly,x86,masm32,playsound,Winapi,Assembly,X86,Masm32,Playsound,所以我用汇编语言做了一个游戏,我用PlaySound()函数来播放背景歌曲。我想在游戏中“死亡”后,另一个声音文件将开始播放一个声音文件,同时停止另一首背景歌曲。阅读文档 pszSound 指定要播放的声音的字符串。最大长度(包括空终止符)为256个字符如果此参数为NULL,则停止当前播放的任何波形声音。要停止非波形声音,请在fdwSound参数中指定SND_PURGE fdwSound 播放声音的旗帜。定义了以下值。 … SND_异步 声音是异步播放的,播放声音在声音开始后立即返回要终止异

所以我用汇编语言做了一个游戏,我用
PlaySound()
函数来播放背景歌曲。我想在游戏中“死亡”后,另一个声音文件将开始播放一个声音文件,同时停止另一首背景歌曲。

阅读文档

pszSound
指定要播放的声音的字符串。最大长度(包括空终止符)为256个字符如果此参数为NULL,则停止当前播放的任何波形声音。要停止非波形声音,请在fdwSound参数中指定SND_PURGE

fdwSound
播放声音的旗帜。定义了以下值。

SND_异步
声音是异步播放的,播放声音在声音开始后立即返回要终止异步播放的波形声音,请在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

你没有提供足够的细节。什么是“PlaySound()”函数?Windows(我想是DOS)的哪个版本?到目前为止你写了什么?它在什么方面没有按照您期望的方式运行?我使用win 8我已经编写了很多代码,因为这是一个游戏。我运行声音文件的方式是“调用播放声音,偏移”文件名,NULL,SND_ASYNS“,如果您不愿意共享代码,并解释它是如何无法达到您期望的效果的,您可能会发现这里没有人会帮助您。:)我不认为我可以发送1500行代码…我没有要求你。将您的问题重新表述为一个特定的问题,该问题围绕代码的一小部分,该部分代码的行为与您预期的不一致,或者您不确定如何修改。非常感谢!成功了!