![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Чтение из .dll файлов .wave... [D3, Win95/98]
inko © (2002-04-10 12:56:00)Я создал .dll файл, в который включил ресурс с .wave файлами {$R Wave.res}.
Как можно прочитать из проекта определенный .Wave файл?
DenKop (2002-04-10 15:52:00) [1]Вот это из FAQ мастеров:
{$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("MyWave", 0, SND_NODEFAULT);
finally
FreeResource(hResource);
end;
end;
MBo (2002-04-10 14:50:00) [2]из Кулибы
PlaySound("WAVE", HInstance, SND_RESOURCE or SND_ASYNC);
Fellomena (2002-04-10 13:19:00) [3]Всмысле - прочитать из проекта ?
Если надо проиграть его:
procedure TForm1.Button1Click(Sender: TObject);
var
MyWav1: TResourceStream;
begin
MyWav1:=TResourceStream.Create(hInstance, "wave1", RT_RCDATA);
try
MyWav1.SaveToFile("my.wav");
finally
MyWav1.Free;
end;{try}
end;
т.е. сначало сохраняешь на диск, затем проигрываешь :)