請問各位高手?(30分)

  • 主题发起人 fly-aa123
  • 开始时间
F

fly-aa123

Unregistered / Unconfirmed
GUEST, unregistred user!
程序啓動時的背景音樂怎麽樣做,就像win98 那樣子的
 
請多多指教!
 
事情緊急,請幫忙呀
 
你先把这个声音文件做到你的.rec中:
procedure joue(le_son : pchar);
var
h: THandle;
p: pointer;
begin

h := FindResource(hInstance,
le_son,
'WAV');
h := LoadResource(hInstance, h);
p := LockResource(h);
sndPlaySound(p,
SND_MEMORY or SND_SYNC);
UnLockResource(h);
FreeResource(h);
end;


procedure TForm1.FormCreate(Sender: TObject);
begin

joue('S1');
end;
 
用playsound做罗:
PlaySound(PChar('wavefile'),0, SND_FILENAME Or SND_ASYNC);
SND_ASYNC表示在播放音乐的时候程序不中断
'wavefile':是你要播放的wav文件。
你可以在project的代码中做:
也就是在Application.run之前写这些代码,譬如
Application.Initialize;
Application.CreateForm(TFrmMain,FrmMain);
PlaySound(PChar('wavefile'),0, SND_FILENAME Or SND_ASYNC);
Application.Run;
注意在project单元中也必须包含windows单元,否则Playsound找不到。
 
請問怎樣將聲音文件做到.res 中?
 
先做一个RS文件譬如wavres.rc
里面是这样的
plays WAV "c:/wavefile/mm.wav"

再用brcc32 -r wavres.rc编译成wavres.res
然后将这个.res的文件拷贝到应用程序目录。然后在Project单元中有一行{$R *.res}下面添一条{$R wavres.res}就可以了,这样就吧wavres放到了应用程序资源中去了。
但是上面的PlaySound需要修改参数,就是PlaySound(PChar('wavefile'),0, SND_FILENAME Or SND_ASYNC);中的wavefile变成资源名称就是'plays',SUN_FILENAM改成SND_RESOURCE,就可以了。
 
非常感謝
 
接受答案了.
 
brcc32 -r wavres.rc 是delphi 裏的命令嗎?
 
顶部