Вопросы и ответы

Дата: 2002-02-11 16:48:00

Как засунуть в исполняемый файл wav-файл, и затем проиграть этот звук?

В файл MyWave.rc пишешь:
  MyWave RCDATA LOADONCALL MyWave.wav

Затем компилируешь
  brcc32.exe MyWave.rc, получаешь MyWave.res.
 
В своей программе пишешь:
 
{$R MyWave.res}
procedure RetrieveMyWave;
var
 hResource: THandle;
 pData: Pointer;
begin
 hResource:=LoadResource( hInstance, FindResource(hInstance, 'MyWave', RT_RCDATA));
 try
   pData := LockResource(hResource);
   if pData = nil then raise Exception.Create('Cannot read MyWave');
   // Здесь pData указывает на MyWave
   // Теперь можно, например, проиграть его (Win32):
   PlaySound(pData, 0, SND_MEMORY);
 finally
   FreeResource(hResource);
 end;
end;