如何将声音加入程序呢?(50分)

  • 主题发起人 主题发起人 UKing
  • 开始时间 开始时间
U

UKing

Unregistered / Unconfirmed
GUEST, unregistred user!
如何将声音,图片加入程序,又如何调用呢?
(我不希望除了exe还有bmp,wav等文件,只要一个exe就好)
有个朋友教我用资源文件的方法,但不太清楚,
请大虾明示,谢谢!!
 
bmp可以直接加入。
wav就不知道了。
 
就是资源文件,
写一个 ok.rc
100 WAV "c:/y.wav"
然后用 brcc32 ok.rc 生成 ok.res

在程序中 {$R ok.res} 就行乐,
用的时候最好存为临时文件,播放就行乐。
 
看看我的信息:
我是不是该安静的走开,有一个例子。
 
http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=215753
就是这个了
 
我也有一个例子,希望你能看懂!
 
把WAV文件做到EXE中去
建立'Sound.RC'的文件,内容如下
MyWave Wave Wave.wav
然后用 Brcc32.exe 编译'Sound.rc',会生成一个'Sound.RES'
Uses MMSystem;
{$R SOUND.RES}
然后,在Form1中申明一个全局变量
PtrSound : PChar;
hRes : THandle;
{handle to the loaded resource
if 0 indicates nothing playing}
再在Form1的Create事件中增加下如下代码
procedure TForm1.FormCreate(Sender: TObject);

var hResInfo : THandle;

begin

hResInfo := FindResource(HInstance, 'MyWave', 'WAVE');
hRes := LoadResource(HInstance, hResInfo);
if hRes > 32 then
{its a good load}
begin
{lock the resource}
ptrSound:=LockResource(hRes);

end;

end;

然后在Form1中放一个按钮Button1,加入如下代码:
procedure TForm1.Button1Click(Sender: TObject);
begin

sndplaysound(ptrSound,snd_async or snd_Memory);

end;

以上代码在Win98+Delphi 4.0&5.0下通过,没问题
但我不知道如何把Midi做到Exe中去,用上面的方法无效
非常愿意同大家讨论问题
 
多人接受答案了。
 

Similar threads

后退
顶部