Включение wav-файла в exe и проигрывание этого wav-файла
Включение wav-файла в exe и проигрывание этого wav-файла
Зависимости: Uses MMSystem
// В файл 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 SND_ASYNC SND_NOSTOP);
//Для PlaySound используется модуль MMSystem}
//SND_ASYNC - при проигрывании не останавливать работу программы
//SND_NOSTOP - проиграть звук до конца
//SND_STOP - прекратить играть прежний звук и начать новый
finally
FreeResource(hResource);
end;
end;
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 SND_ASYNC SND_NOSTOP);
//Для PlaySound используется модуль MMSystem}
//SND_ASYNC - при проигрывании не останавливать работу программы
//SND_NOSTOP - проиграть звук до конца
//SND_STOP - прекратить играть прежний звук и начать новый
finally
FreeResource(hResource);
end;
end;