如何用 VC++ 编写 MIDI 文件播放程序

Posted on 2012-02-18 10:37  无忧consume  阅读(347)  评论(0编辑  收藏  举报

  MIDI的意思是乐器数字接口:(Musical Instrument Digital Interface)它是早在微软开发Windows以前就有的一个用于电子键盘的标准。MIDI定义了一个传输和存储音乐信息的协议。

  Win32 API 提供了几种处理MIDI数据的方法。在Windows中有很多方法播放MIDI文件。这里我们讨论一种最简单的方法。
  01.ShellExecute (hWnd, "open", "c:\\windows\\media\\Canyon.mid", NULL, NULL, SW_SHOWNORMAL);
  ShellExecute和ShellExecuteEx是两个功能强大的函数,毫不夸张地讲,他们能打开Windows中的任何文件。但是有一个缺点,当我们用他打开MIDI文件时,它启动的是多媒体播放器,却不能自动播放,还得用户手工点击“play”键。这一点在许多场合不实用。解决此问题的方法是使用Windows的MCI类来处理MIDI文件,就象下面这样:
  01.HWND hMCIWnd; 02.hMCIWnd = MCIWndCreate(NULL, hInst, 0, "c:\\windows\\media\\Canyon.mid" ); 03.MCIWndPlay(hMCIWnd);
  MCI类能处理所有类型的多媒体格式,使用MCI类还能在控件窗口或者自己的应用窗口中选择播放选项以及其它的类型的选项。注意:使用MCI类时必须包含vfw.h文件,并且将vfw32.lib加到输入库列表中。

Copyright © 2024 无忧consume
Powered by .NET 9.0 on Kubernetes