Delphi中播放wav
一般通过两种方式来实现:
1.调用MessageBeep(MB_OK)方法,播放系统声音,其中MB_OK可以是MB_ICONASTERISK,MB_ICONEXCLAMATION,MB_ICONHAND,MB_ICONQUESTION等
2.调用sndPlaySound('d:\start.wav', SND_NODEFAULT Or SND_ASYNC Or SND_LOOP),需要引入MMSystem系统单元。可以将声音文件嵌入可执行文件里并:
a.创建新文件,重命名为sound.rc,输入start wave d:\start.wav,保存;
b.使用Delphi安装目录bin下的BRCC32.EXE将rc文件转换成res文件,在命令行中输入brcc32 -32 d:\start.wav(brcc32已加入环境变量,也可以将路径定位到声音文件所在目录),生成sound.res;
c.将sound.res放在程序可执行文件生成目录,在程序中加入:
@新建系统变量soundData: Pointer
@implementation下加入: {$R sound.res}
@程序最后加入:
initialization
soundData:= Pointer(FindResource(hInstance, 'start', 'wave'));
if tada <> nil then
begin
soundData:= Pointer(LoadResource(hInstance, HRSRC(soundData)));
if soundData<> nil then
soundData:= LockResource(HGLOBAL(soundData));
end;
@在适当的地方调用:sndPlaySound(soundData, SND_MEMORY or SND_NODEFAULT or SND_ASYNC);