文档章节

WinAPI: midiInOpen - 打开 MIDI 输入设备

涂孟超
 涂孟超
发布于 2014/09/26 15:35
字数 329
阅读 14
收藏 0
提示:
因为其中的回调函数是在中断时间内访问的, 必须在 DLL 中; 要访问的数据都必须是在固定的数据段中; 除了
PostMessage
timeGetSystemTime
timeGetTime
timeSetEvent
timeKillEvent
midiOutShortMsg
midiOutLongMsg
OutputDebugString 外, 也不能有其他系统调用.

//声明:
midiInOpen(
  lphMidiIn: PHMIDIIN; {用于返回设备句柄的指针; 之后再调用其他函数应该使用这个句柄}
  uDeviceID: UINT;     {设备ID; 不可以指定为常量 MIDI_MAPPER = UINT(-1);}
  dwCallback: DWORD    {回调函数地址或窗口句柄; 若不使用回调机制, 设为 nil}
  dwInstance: DWORD    {给回调函数的实例数据; 不用于窗口}
  dwFlags: DWORD       {打开选项}
): MMRESULT;           {成功返回 0; 可能的错误值见下:}

MMSYSERR_BADDEVICEID = 2;  {设备ID超界}
MMSYSERR_ALLOCATED   = 4;  {指定的资源已被分配}
MMSYSERR_NOMEM       = 7;  {不能分配或锁定内存}

//打开选项 dwFlags 的可选值:
CALLBACK_NULL     = $00000000; {当 dwCallback 是 nil 时指定}
CALLBACK_WINDOW   = $00010000; {当 dwCallback 是窗口句柄时指定}
CALLBACK_FUNCTION = $00030000; {当 dwCallback 是函数指针时指定}

//如果选择窗口接受回调信息, 可能会发送到窗口的消息有:
MM_MIM_OPEN      = $3C1;
MM_MIM_CLOSE     = $3C2;
MM_MIM_DATA      = $3C3;
MM_MIM_LONGDATA  = $3C4;
MM_MIM_ERROR     = $3C5;
MM_MIM_LONGERROR = $3C6;

//如果选择函数接受回调信息, 可能会发送给函数的消息有:
MIM_OPEN      = MM_MIM_OPEN;
MIM_CLOSE     = MM_MIM_CLOSE;
MIM_DATA      = MM_MIM_DATA;
MIM_LONGDATA  = MM_MIM_LONGDATA;
MIM_ERROR     = MM_MIM_ERROR;
MIM_LONGERROR = MM_MIM_LONGERROR;

 
 
 
 
 

 

 

  
//举例:

本文转载自:http://www.cnblogs.com/del/archive/2008/02/23/1079085.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
在 web.xml中配置实现浏览器根据文件类型自动打开

TOMCAT在默认情况下下载.rar的文件是把文件当作text打开,以至于IE打开RAR文件为乱码,如果遇到这种情况时不必认为是浏览器的问题,大多数浏览器应该不会死皮赖脸地把二进制文件当作文本打开,一...

ybxywz
2014/12/11
0
0
用 VC++ 编写 MIDI 文件播放程序

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

鉴客
2012/02/14
174
0
如何快速激活Overture 5得到序列号激活码?

点击下载:Overture 5激活补丁 Overture 5激活补丁是一款专门针对Overture 5而开发使用的一款激活工具软件。Overture 5是一款非常实用且专业的五线谱打谱软件,同时也是该软件目前最新的版本...

龙彪无敌
05/08
0
0
Windows 音频知识学习汇总

使用低级音频函数 WaveX : http://blog.csdn.net/kvw3000/article/details/68468 控制着不同的音频设备, 包括 wave, midi 和辅助音频设备. 低级服务包括: (1) 查询音频设备. (2) 打开和关闭设...

刘军兴
2015/12/16
19
0
MIDI处理器--mididings

mididings是一个为 ALSA 和 JACK MIDI 编写的 MIDI 处理的 Python 模块。 mididings 是MIDI路由器用于ALSA和Jack 的MIDI处理器。它支持过滤和修改在许多不同的方式的MIDI事件,以及对不同补丁...

匿名
2008/11/10
727
0

没有更多内容

加载失败,请刷新页面

加载更多

xilinx资源

本系列教学视频由赛灵思高级战略应用工程师带领你:从零开始,一步步深入 掌握 HLS 以及 UltraFAST 设计方法,帮助您成为系统设计和算法加速的大拿! http://www.eetrend.com/topics/2018-0...

whoisliang
31分钟前
2
0
=====BJmeter性能测试小接=====

一、性能测试分类 1、负载测试: 通过逐步加压的方法,达到既定的性能阈值的目标,阈值的设定应是小于某个值,如cpu使用率小于等于80% 2、压力测试: 通过逐步加压的方法,使得系统的某些资源...

覃光林
34分钟前
2
0
企业级开源四层负载均衡解决方案--LVS

网盘链接 企业级开源四层负载均衡解决方案--LVS 本课程将在Linux环境下,学习配置使用LVS,对Web集群和MySQL集群进行负载均衡,并结合利用Keepalived实现负载均衡器的高可用,实现对后端Rea...

qq__2304636824
40分钟前
3
0
Windows上安装Spacemacs

emacs安装 下载地址emacs 安装比较简单,解压后执行\bin\addpm.exe即可 emacs配置 emacs的默认配置文件路径和.emacs.d文件夹都是在Windows主目录下的 C:\Users\Administrator\AppData\Roami...

yxmsw2007
55分钟前
1
0
OSChina 周一乱弹 —— 鱼生不值得

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @瘟神灬念:分享新裤子的单曲《没有理想的人不伤心 (Remix版)》: 《没有理想的人不伤心 (Remix版)》- 新裤子 手机党少年们想听歌,请使劲儿戳...

小小编辑
今天
236
9

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部