Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.03.21;
Скачать: CL | DM;

Вниз

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]

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



Страницы: 1 вся ветка

Текущий архив: 2002.03.21;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
4-67041
Nigma
2002-01-12 13:30
2002.03.21
Privileges !!!


14-66957
BWG
2002-01-19 19:53
2002.03.21
ICQ Mastak Active list


1-66858
Юный техник
2002-03-05 16:14
2002.03.21
Текст


7-67033
CORSAiR
2001-12-17 19:59
2002.03.21
Клонирование дисков.. НО !


1-66850
DR
2002-03-05 14:36
2002.03.21
Как прервать загрузку TWebBrowser а на 30 процентах