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

Вниз

как воспроизвести миди файл?   Найти похожие ветки 

 
Kela Yerg ©   (2002-10-09 17:20) [0]

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


 
Fancy ©   (2002-10-10 03:50) [1]

Консольная пограмма(недоделанная) проигрывания 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.


 
Rouse_ ©   (2002-10-10 04:09) [2]

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



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

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

Наверх




Память: 0.47 MB
Время: 0.027 c
14-87097
ACR
2003-01-09 13:56
2003.01.27
Установка пакетов ( dpk )


6-86991
mc_Antoha
2002-11-28 21:16
2003.01.27
Работа с ini файлом по локальной сети


6-87017
myor
2002-11-28 12:49
2003.01.27
nmsmtp.PostMessage.ToAddress.add()


1-86910
Андрусь
2003-01-16 12:49
2003.01.27
Как уникально иденцифицировать систему на машине.


3-86642
Grab3
2003-01-05 10:00
2003.01.27
Из базы в текстовое поле