根据delphi的学习pdf文档,做了个播放wav的简单实践
先创建工程,加上个按钮
然后做一个资源文件
sound.rc
内容为:Sound wav Sound.wav
在命令行
使用D:/Program Files/Borland/Delphi7/Bin>brcc32.exe E:/study/delphi/start/sound.rc
这个命令,生成了一个sound.res的资源文件
然后就是按照书上的代码添加
首先在
var
Form1: TForm1;
这句话下面添加
PtrSound :PChar;
hRes :THandle; {handle to the loaded resource}
这两个全局变量
然后是form的create事件
procedure TForm1.FormCreate(Sender: TObject);
var
hResInfo :THandle;
begin
hResInfo := FindResource(HInstance,'Sound','wav');
hRes := LoadResource(HInstance, hResInfo);
If hRes > 32 Then
begin
PtrSound :=LockResource(hRes);
end;
end;
然后在 button的click事件加上
procedure TForm1.Button1Click(Sender: TObject);
begin
sndplaysound(ptrSound,snd_async or snd_Memory);
end;
其中遇到的问题有
1.
D:/Program Files/Borland/Delphi7/Bin>brc32.exe E:/study/delphi/start/start.rc
Borland Resource Compiler Version 5.40
Copyright (c) 1990, 1999 Inprise Corporation. All rights reserved.
Fatal error. Could not spawn program: ILINK32.EXE
这个错误,我把工程关掉后再执行生成资源就不报这个错误了,然后以后开着工程生产资源文件也没再出现这个错误。不知为什么。。呵呵
2.
delphi Undeclared identifier: 'sndplaysound'
这个函数不能使用,我查了一下,在uses 里面加上mmsystem 这个就ok了
编译执行,点击button可以播放歌曲,第一步小小的成就感中。。。。