时间: 2021-07-31 作者:daque
你厌烦mediaplayer吗?用了它你的exe会大7k。 uses windows, classes, forms, mmsystem, winprocs; var wdeviceid: word; playwindow: hwnd; procedure openmci(pwindow: hwnd; filename, devicetype: pchar); var openparms: tmci_open_parms; style: longint; begin playwindow := pwindow; openparms.lpstrdevicetype := devicetype; openparms.lpstrelementname := filename; style := mci_open_type or mci_open_element; mcisendcommand(0, mci_open, style, longint(@openparms)); wdeviceid := openparms.wdeviceid; end; procedure playmci; var info: tmci_play_parms; begin info.dwcallback := playwindow; mcisendcommand(wdeviceid, mci_play, mci_notify, longint(@info)); end; procedure midiplay(midiname: pchar); const devtype: pchar='sequencer'; begin if midiname = 'stopmidi' then closemci else begin openmci(application.handle, midiname, devtype); playmci; end; end; procedure closemci; begin mcisendcommand(wdeviceid, mci_close, 0, 0); wdeviceid := 0; end; end. 运用本领: midiplay("feeling.mid")); // 提防,这边必需是 pchar 或 char* midiplay("stopmidi");