Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.21;
Скачать: [xml.tar.bz2];




Вниз

Midi в ресурсах 


Zja   (2001-12-26 01:13) [0]

Как запихнуть midi-файл в ресурс и ( главное!!! ) как его потом проиграть оттуда?



ZEE   (2001-12-26 13:29) [1]

Засунуть просто: создаешь текстовый файл mymidi.rc в нем пишешь строку "midimusic RCDATA music.mid", потом компилишь его с помощью BRCC32.EXE и в результате получается ресурсный файл mymidi.res, который надо подключить к своей проге.
А вот с воспроизведение сложнее, могу подсказать разве что такой вариант из ресурсов файл можно сохранять куда-нибудь на диск - воспроизводить его, а потом удалять. Но надеюсь есть способ и по-проще...



copyr25   (2002-01-22 07:35) [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;



Evgeny   (2002-01-22 07:47) [3]

Видел программу, которая делает это без создания временного файла (это точно). Вот как она (или он программист) это делает?




Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.21;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.014 c
14-67007          Blackweber            2002-02-06 02:15  2002.03.21  
Для тех кто учился(учится) в Питере.


1-66884           chinadok              2002-03-05 01:42  2002.03.21  
как построить график?


1-66900           Delph                 2002-03-06 09:37  2002.03.21  
Как выгрузить CGI приложение с удаленного сервера?


14-66973          Алексей Петров        2002-02-06 12:21  2002.03.21  
Ну тогда еще задачка:


14-66995          MBo                   2002-02-08 09:21  2002.03.21  
Поздравляю с Днем Науки!