如何调用声音文件?有没有api解决

解决方案 »

  1.   

    在程序中播放WAV声音文件 
    Windows启动时那声嘹亮的号角声是否让你感到振奋。OK!让我们在自己的程序中来实现它。仅仅播放一个WAV声音文件,当然不需要劳驾MediaPlayer构件,API函数SndPlaySound()就可以很好地完成这一工作。它定义在MMSystem单元中,有两个参数:第一个指明WAV文件的路径、文件名;第二个指明播放方式。实例如下: uses MMSystem;
    procedure TForm1.FormCreate(Sender: TObject);
    begin
    SndPlaySound('c:\windows\media\tada.wav',SND_ASYNC)
    end; 
      

  2.   

    playsound;记得加上uses MMSystem
      

  3.   

    以下给出示例代码(我的资源文件中有“0”至“9”,小数点、负号的声音文件):
    var
      hResInfo : THandle;
      i:integer;
      sdstr:string;
      PtrSound : PChar;
      hRes : THandle;
    begin
     for i:=1 to length(trim(soundstr)) do
     begin
       case soundstr[i] of
       '0'..'9':
          sdstr:='n'+soundstr[i];
       '.':
          sdstr:='d';
       '-':
          sdstr:='f';
       end;
       try
         hResInfo := FindResource(HInstance,pchar(sdstr),'WAVE');
         hRes := LoadResource(HInstance, hResInfo);
         if hRes > 32 then  //its a good load
         begin //lock the resource
           ptrSound:=LockResource(hRes);
           sndplaysound(ptrSound,SND_SYNC or snd_Memory);
         end;
       finally
         freeresource(hresinfo);
       end;
     end;
    你也可以将播放声音做在一个线程中,这样效果更好!
      

  4.   

    借宝地一用SndPlaySound第二个参数都有那些,什么区别????
      

  5.   

    uses MMSystem;
    SndPlaySound('c:\windows\media\tada.wav',SND_ASYNC)
    来晚了!