CSDN - 专家门诊 - Delphi 基础类问题  
 回复 | 推荐 | 收藏 | 专题 | 公告 | 管理 | 保存 | 回复通知 | 关闭窗口   
 
 
主  题:  在DELPHI程序中加入背景音乐,MP3的音乐或是FLASH音乐。程序执行时就可以听到给定的MP3音乐,可执行的EXE文件中含有MP3音乐。就像在DELPHI中用图片那样,给别人时,只看到一个EXE文件,打开才可以看到图片,听到音乐,难道没有人能回答吗? 
作  者:  franne (沖天笑)  
等  级:    
信 誉 值:  100 
所属论坛:  Delphi 基础类 
问题点数:  100 
回复次数:  1 
发表时间:  2003-08-26 20:58:26 
   
 
   
在DELPHI程序中加入背景音乐,MP3的音乐或是FLASH音乐。程序执行时就可以听到给定的MP3音乐,可执行的EXE文件中含有MP3音乐。就像在DELPHI中用图片那样,给别人时,只看到一个EXE文件,打开才可以看到图片,听到音乐,我上次看到了一个方法如下:
首先你应该编写资源文件,
建立一个扩展名为rc的文件,比如为BackMusic.rc, 在其中写入:
BackMusic WAV SOUND.WAV
其中Sound.Wav为一个声音文件
然后在命令行中输入:brcc32 BackMusic.rc
它会生成一个BackMusic.RES文件
然后在程序中写
uses ShallApi,mmsystem;
implementation
{$R *.DFM}
{$R BackMusic.RES}
function ExtractRes(ResType, ResName, ResNewName: string): boolean;
var
 Res: TResourceStream;
begin
 try
  Res := TResourceStream.Create(Hinstance, Resname, Pchar(ResType));
  try
   Res.SavetoFile(ResNewName);
   Result := true;
  finally
   Res.Free;
  end;
 except
  Result := false;
 end;
end;procedure TForm1.Button1Click(Sender: TObject);
var
 FileName: string;
begin
  FileName:=Format('%sBackMusic',[ExtractFilePath(Application.ExeName)]);
 ExtractRes('WAV', 'BackMusic', FileName);
 sndPlaySound(FileName,snd_async or snd_Memory);
end;
怎么运行时没有声音呀,请各位解决
谢谢