PB10 不能播放声音的问题

反向摩天轮 2007-04-19 10:19:28
PB版本 10.5.1 build 6565


我声明了全局外部函数

Function ulong sndPlaySound(ref string lpszSoundName,ulong uFlags) LIBRARY "winmm.dll" ALIAS FOR "sndPlaySoundA;Ansi"

然后在Button的click事件下写了如下代码
sndPlaySound("test.wav",1)

无法保存!因为提示sndPlaySound("test.wav",1)这句有错。



另一个方法可以保存:
声明:
Function uint waveOutGetNumDevs () Library "WINMM.DLL"
Function boolean sndPlaySoundA (string SoundName, uint Flags) Library "WINMM.DLL"

事件脚本:
sndPlaySounda("\test\test.wav",1)

可是运行的时候,按下Button只有“咚”的一声系统音!
而不是我声音文件的声音!

请问具体一点做,要怎样才能在PB10里调用API函数来播放指定的声音啊!
小弟初学PB,做了一个管理系统,想在操作里加入语音提示!
希望各路大侠不吝赐教啊!!!
...全文
273 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
反向摩天轮 2007-04-19
  • 打赏
  • 举报
回复
sndPlaySound("test.wav",1)

无法保存!因为提示sndPlaySound("test.wav",1)这句有错。

改成
string ls_mideafile
ls_mideafile = "test.wav"
sndPlaySound(ls_mideafile,1)

-------------------------------------

那不是一个意思吗?
呵呵,我刚刚自已搞定了,昨天弄了一天,搜遍网络没找到一个可行的。刚发了帖了没想到自己就搞定了。
把正确的帖出来分享一下!!!!

PB版本 10.5.1 build 6565


声明全局外部函数

Function ulong sndPlaySounda(string SoundName, uint Flags) LIBRARY "winmm.dll" ALIAS FOR "sndPlaySoundA;Ansi"

然后在Button的click事件下写了如下代码
sndPlaysounda("test.wav",1)

注意:第一,sndPlaySounda可以写成sndPlaySound 即不要最后的那个字符“a”也可以,不过,建议使用sndPlaySounda,好像与ASSII码有点关系,这里先不管!!
第二,声音文件test.wav在项目的根目录下,如在下一个文件夹sound下面,可把"test.wav"改写成"sound\test.wav",以此类推!把路径写对就行!
第三,引用该函数不能播放mp3和wma格式的声音文件。

关于第三点,小弟还有待研究!
不过终于搞定这个困扰我一两天的问题了。高兴ing,希望本帖能帮助有同样问题的朋友找到答案!
还是很感谢回帖的朋友!



AFIC 2007-04-19
  • 打赏
  • 举报
回复
sndPlaySound("test.wav",1)

无法保存!因为提示sndPlaySound("test.wav",1)这句有错。
--------------------
改成
string ls_mideafile
ls_mideafile = "test.wav"
sndPlaySound(ls_mideafile,1)
kaipingman 2007-04-19
  • 打赏
  • 举报
回复
我需要设计一个路费管理系统(局域网), 谁能帮我,有报酬的! 谢谢 QQ:508764722

680

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder API 调用
社区管理员
  • API 调用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧