Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

как воспроизвести миди файл? [D6, WinXP]


Kela Yerg ©   (2002-10-09 17:20:00) 

Доброго времени суток Уважаемые.
Вопрос у меня к Вам такой: как воспроизвести миди файл из проги на Delphi? Функция PlaySound не помогает, компонент TMediaPlayer тоже не хочет воспроизводить мидяки. В случае PlaySound какое то действие с файлом производится, но из колонок издаётся единовременное что то между "пинг" и "тук", и всё затехает. В случае с MediaPlayer"ом вообще ничего не происходит... Подскажите пожалста, как бы всё таки воспроизвести миди...


Rouse_   (2002-10-10 04:09:00) [1]

Уууу блин, уже опередили ;))


Fancy   (2002-10-10 03:50:00) [2]

Консольная пограмма(недоделанная) проигрывания MIDI
В качестве параметра - имя файла

program MIDicons;
uses mmsystem,windows,Sysutils;

var Id,t:integer;

function MOpen:integer; //Открыть
var
po:TMCI_OPEN_PARMS;
ps:TMCI_SEQ_SET_PARMS;
f:array[0..512] of char;
begin
with po do begin
lpstrDeviceType:=LPCSTR(MCI_DEVTYPE_SEQUENCER);
lpstrElementName:=StrPCopy(f,Paramstr(1)); //Файл
end;
with ps do begin
dwTimeFormat:=MCI_FORMAT_MILLISECONDS;end;
result:=mciSendCommand
(0,MCI_OPEN,MCI_OPEN_TYPE or MCI_OPEN_TYPE_ID or MCI_OPEN_ELEMENT,DWORD(@po));
Id:=po.wDeviceId;
if result<>0 then exit;
result:=mciSendCommand(Id,MCI_SET,MCI_SET_TIME_FORMAT,DWORD(@ps));
end;

function MPlay:integer; //Играть MCI_PLAY_PARMS
var
pp:TMCI_PLAY_PARMS;
begin
result:=mciSendCommand(ID,MCI_PLAY,MCI_NOTIFY,DWORD(@pp));
end;

function MClose:integer; //Закрыть
var
pc:TMCI_GENERIC_PARMS;
begin
result:=mciSendCommand(Id,MCI_CLOSE,0,DWORD(@pc));
end;

begin
Mopen;MPlay;MessageBox(0,"Stop","",$30);
end.


Наверх

Титульная страница Поиск, карта сайта Написать письмо