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);

      

posted on 2009-12-21 18:01  micki  阅读(3796)  评论(0编辑  收藏  举报

导航