![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Midi в ресурсах [D5, Win95/98]
Zja © (2001-12-26 01:13:00)Как запихнуть midi-файл в ресурс и ( главное!!! ) как его потом проиграть оттуда?
Evgeny (2002-01-22 07:47:00) [1]Видел программу, которая делает это без создания временного файла (это точно). Вот как она (или он программист) это делает?
copyr25 (2002-01-22 07:35:00) [2]//NN.RC:
//MIDRES RCDATA NAME.MID
...
{$R *.DFM}
{$R NN.RES}
...
//загружаем файл из ресурса
ZMID:=FindResource(HInstance,"MIDRES",RT_RCDATA);
IF MIDHandle<>0 then begin
MIDHandle:=LoadResource(HInstance,ZMID);
CopyMemory(@bufer,Pointer(MIDHandle),SizeofResource(HInstance,ZMID));
//Создаем временный файл file.mid
AssignFile(TempFile,"~temp.mid");
REWRITE(TempFile,1);
BlockWrite(TempFile,Bufer[0],SizeofResource(HInstance,ZMID));
CloseFile(TempFile);
//Проигрываем
MediaPlayer1.FileName:="~temp.mid";
MediaPlayer1.Open;
MediaPlayer1.Notify:=True;
MediaPlayer1.Play;
end;
//Удаляем файл
procedure TForm1.FormDestroy(Sender: TObject);
begin
DeleteFile("~temp.mid");
end;
ZEE (2001-12-26 13:29:00) [3]Засунуть просто: создаешь текстовый файл mymidi.rc в нем пишешь строку "midimusic RCDATA music.mid", потом компилишь его с помощью BRCC32.EXE и в результате получается ресурсный файл mymidi.res, который надо подключить к своей проге.
А вот с воспроизведение сложнее, могу подсказать разве что такой вариант из ресурсов файл можно сохранять куда-нибудь на диск - воспроизводить его, а потом удалять. Но надеюсь есть способ и по-проще...