关于背景音乐的一些补充: 我虽然知道用哪个API函数播放音乐,但是不是很清楚SF7具体调用的机制,因此上他们的论坛询问了一下,他们回复很快,但是发现几个问题http://www.shengfang.org/ 1、关于 primer file 上次我的解决方法是直接播放安装程序以外的已经存在的WAV声音文件,如果完善的话,应该安装程序自带WAV比较合理,而平时我们用的是直接安装到安装目录,而这个文件应该首先就释放到安装源文件的临时目录中,这样才能播放。Primer Files 就是用来作这个的:%TempLaunchFolder% session variable 而我用的汉化版本,找了半天?金山词霸的primer解释是 初级读本,而最后又装了一个英文版本,发现对应的项目是 原始文件 。http://www.shengfang.org/ 2、关于 全局函数的问题: 他们提出的解决方法是先作一个全局函数调用sndPlaySound,结果我试验了几次:汉化版本可以在全局函数里面添加,但是编译完成后运行,提示:on startup attempt to call global 'PlayWAV' a nil value 英文测试版本则根本不能保存,就是我粘贴上代码,点击确定按钮,再次进入全局函数,则是一片空白,不知道怎么回事。 他们提供的DEMO: function PlayWAV(strWAVFile,bLoop) PlayWAV(SessionVar.Expand("%TempLaunchFolder%\\yourfile.wav")); 并且playwav明明带有两个参数,他调用的时候却只是传递了一个,后面应该在加上true或者false,反正我没有成功过。http://www.shengfang.org/ 我试验成功的方法: 1、资源 原始文件 增加WAV文件 result = DLL.CallFunction("winmm.dll", "sndPlaySoundA", your_variable, DLL_RETURN_TYPE_INTEGER, DLL_CALL_CDECL); 具体参数看MSDN 循环播放 1改为11 字体:大 中 小 |
![]() | 永久地址 http://www.shengfang.org/blog/p/sf7sndplay2.php |
![]() | 引用地址 http://www.shengfang.org/blog/tb.php?tb_id=1114832482 |
2005年4月30日11:41星期六 [Dev开发]





