如何调用wave资源

allexit 2000-09-11 10:45:00
我用文本编辑器编辑了一个文件alertsnd.rc
alertsun wave tada.wav
然后用brcc32编译成alertsnd.res
在文件中加入
{$R *.DFM}
{$R alertsnd.RES}
~~~~~~~~~~~~~~~~~~
调用语句为
procedure TForm1.FormCreate(Sender: TObject);
var
hResInfo : THandle;
begin
hResInfo := FindResource (HInstance, 'alertsun', 'WAVE');
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
hRes := LoadResource (HInstance, hResInfo);
if hRes > 32 then
begin
button1.enabled := true;
ptrSound := LockResource (hRes);
end;
end;
但有波浪线一句有问题,设断点显示为hResInfo为无效值,为何?
...全文
145 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
yeah 2000-09-12
  • 打赏
  • 举报
回复
如shines所说,你的波浪线一句有拼写错误。
如果我要做WAVE资源,我会这样做更简单:使用VC++的资源编译器!
在VC中新建一资源文件,将波形文件导入后,右键激活属性编辑器,
将ID文本框中数据ID改为字符串ID(使用双引号),如"WAVE1",另存该文件为
WAVE.res,放置到你的工程目录下,调用时:

implementation

{$R *.DFM}
{$R Wave.res}
uses mmsystem;
procedure Tform1.playmysound;
begin
if WaveoutGetNumDevs <> 0 then
PlaySound('WAVE1',hInstance,SND_RESOURCE or SND_ASYNC);
end;
如果你用记事本直接编写资源脚本,经编绎为RES资源文件后,使用方法一样。
shines77 2000-09-12
  • 打赏
  • 举报
回复
alertsnd
shines77 2000-09-12
  • 打赏
  • 举报
回复
alertsud 是不是写成 alertsun 了?

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi GAME,图形处理/多媒体
社区管理员
  • GAME,图形处理/多媒体社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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