人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

不用MediaPlayer播放Midi

不用MediaPlayer播放Midi

更新時間:2022-09-27 文章作者:未知 信息來源:網絡 閱讀次數:

你厭倦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"); 

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 于都县| 聂拉木县| 陇川县| 大城县| 阳朔县| 兰西县| 南郑县| 资中县| 防城港市| 南岸区| 金华市| 三河市| 称多县| 井冈山市| 东台市| 石屏县| 洛宁县| 屯门区| 阳信县| 连云港市| 喜德县| 新绛县| 铅山县| 奎屯市| 厦门市| 绍兴市| 巴彦淖尔市| 内丘县| 石台县| 依安县| 上虞市| 襄垣县| 广德县| 二手房| 海淀区| 岫岩| 永德县| 徐汇区| 大丰市| 普格县| 海淀区|