文档章节

捕捉 midi 输入消息的基本程序

涂孟超
 涂孟超
发布于 2014/09/26 15:37
字数 88
阅读 9
收藏 0
点赞 0
评论 0

uses MMSystem;

var hMidiIn: Integer;

procedure midiCallBack(hdrvr: HDRVR; uMsg: UINT; dwUser: DWORD; dw1, dw2: DWORD) stdcall;
begin
  case uMsg of
    MIM_OPEN: ;
    MIM_CLOSE: ;
    MIM_DATA: Form1.Memo1.Lines.Add(IntToStr(dw1));
    MIM_LONGDATA: ;
    MIM_ERROR: ;
    MIM_LONGERROR: ;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  midiInOpen(@hMidiIn, 0, Cardinal(@midiCallBack), 0, CALLBACK_FUNCTION);
  midiInStart(hMidiIn);
  Caption := IntToStr(hMidiIn);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  midiInStop(hMidiIn);
  midiInClose(hMidiIn);
  Caption := '0'
end;


参考: http://msdn.microsoft.com/en-us/library/ms709430(VS.85).aspx

本文转载自:http://www.cnblogs.com/del/archive/2011/10/31/2230442.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2004
码字总数 14107
作品 0
深圳
程序员
JAVA声音技术

声音可以创造意境,触发遐想,当与虚拟图像相结合时,更加可以让整个世界充满幻觉。声音是多媒体技术的基础。这就是Sun公司的JAVA媒体技术开发小组忙于准备Java Sound 1.0 API并将其包含于下...

光石头 ⋅ 2011/02/11 ⋅ 0

厚积薄发,丰富的公用类库积累,助你高效进行系统开发(7)-----声音播放、硬件信息、键盘模拟及钩子、鼠标模拟及钩子等设备相关

俗话说,一个好汉十个帮,众人拾柴火焰高等都说明一个道理,有更多的资源,更丰富的积累,都是助你走向成功,走向顶峰的推动力。 本篇继续继续整理优化已有的共用类库,并继续发表随笔介绍公...

长平狐 ⋅ 2012/08/22 ⋅ 0

厚积薄发,丰富的公用类库积累,助你高效进行系统开发(7)-----声音播放、硬件信息、键盘模拟及钩子、鼠标模拟及钩子等设备相关

俗话说,一个好汉十个帮,众人拾柴火焰高等都说明一个道理,有更多的资源,更丰富的积累,都是助你走向成功,走向顶峰的推动力。 本篇继续继续整理优化已有的共用类库,并继续发表随笔介绍公...

长平狐 ⋅ 2012/06/11 ⋅ 0

【HttpClient】HttpClient总结一之基本使用

最近工作中是做了一个handoop的hdfs系统的文件浏览器的功能,是利用webhdfs提供的rest api来访问hdfs来与hdfs进行交互的,其中大量使用HttpClient,之前一直很忙,没什么时间来总结,今天闲下...

双月通天 ⋅ 2016/11/08 ⋅ 0

盛大开源软件一览表

盛大近日发布了一开源项目网站SNDACode,开源项目列表如下: ACode2Html AndroidHelper bambook ComoJS DelphiDASM DHibernate EasyAndroidInstaller framework Jscex Let's Go MPQEditor Re......

老枪 ⋅ 2011/05/13 ⋅ 18

Chrome 43 beta 发布,支持 Web MIDI

Chrome 43 beta 发布,支持 Web MIDI ,并提高了安全性能和兼容性。还变化或更新了一些小技巧,使开发人员能够构建更强大的 web 应用程序。 新增功能: 支持互联网和 MIDI 设备的互联 新增 ...

oschina ⋅ 2015/04/17 ⋅ 13

MusE 2.0 发布,Linux 的虚拟演播室

MusE 2.0 发布,该版本新增分数编辑器、项目对话框和新的 MIDI 编辑对话框,对已有的功能也做了不少的改进。 MusE 是一个多轨的Linux虚拟演播室。它支持在一个集成的环境中实时MIDI和音频实时...

oschina ⋅ 2012/07/02 ⋅ 0

WINDOWS消息机制(二):从消息产生到被处理的完整流程

主要内容:该篇文章主要描述在WINDOWS应用程序中,消息从产生到被处理的完整流程,此处以界面某一个控件被点击的整体流程为例,说明消息的流动及处理过程(此处消息属于输入消息) 整体过程分...

西昆仑 ⋅ 2012/06/30 ⋅ 3

虚拟管风琴--jOrgan

jOrgan是一个Java开发的虚拟管风琴。让您使用电脑作为一个功能齐全的管风琴。它可以采取各种基本的MIDI键盘和控制的输入,并将其转化为高级别复杂且相互关联的控制功能和输出。 功能和特点 ...

匿名 ⋅ 2008/12/07 ⋅ 0

Linux虚拟演播室--MusE

MusE 是一个多轨的Linux虚拟演播室。它支持在一个集成的环境中实时MIDI和音频实时编辑。它对于LADSPA和DSSI插件(与Win VST支持),插座的支持,和alsa - MIDI输出和输入以及内部softsynths。...

匿名 ⋅ 2009/12/22 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

6. Shell 函数 和 定向输出

Shell 常用函数 简洁:目前没怎么在Shell 脚本中使用过函数,哈哈,不过,以后可能会用。就像java8的函数式编程,以后获取会用吧,行吧,那咱们简单的看一下具体的使用 Shell函数格式 linux ...

AHUSKY ⋅ 8分钟前 ⋅ 0

MySQL 内核深度优化

MYSQL数据库适用场景广泛,相较于Oracle、DB2性价比更高,Web网站、日志系统、数据仓库等场景都有MYSQL用武之地,但是也存在对于事务性支持不太好(MySQL 5.5版本开始默认引擎才是InnoDB事务...

OSC_cnhwTY ⋅ 15分钟前 ⋅ 0

单片机软件定时器

之前写了一个软件定时器,发现不够优化,和友好,现在重写了 soft_timer.h #ifndef _SOFT_TIMER_H_#define _SOFT_TIMER_H_#include "sys.h"typedef void (*timer_callback_function)(vo...

猎人嘻嘻哈哈的 ⋅ 17分钟前 ⋅ 0

好的资料搜说引擎

鸠摩搜书 简介:鸠摩搜书是一个电子书搜索引擎。它汇集了多个网盘和电子书平台的资源,真所谓大而全。而且它还支持筛选txt,pdf,mobi,epub、azw3格式文件。还显示来自不同网站的资源。对了,...

乔三爷 ⋅ 25分钟前 ⋅ 0

Debian下安装PostgreSQL的表分区插件pg_pathman

先安装基础的编译环境 apt-get install build-essential libssl1.0-dev libkrb5-dev 将pg的bin目录加入环境变量,主要是要使用 pg_config export PATH=$PATH:/usr/lib/postgresql/10/bin 进......

玛雅牛 ⋅ 26分钟前 ⋅ 0

inno安装

#define MyAppName "HoldChipEngin" #define MyAppVersion "1.0" #define MyAppPublisher "Hold Chip, Inc." #define MyAppURL "http://www.holdchip.com/" #define MyAppExeName "HoldChipE......

backtrackx ⋅ 55分钟前 ⋅ 0

Linux(CentOS)下配置php运行环境及nginx解析php

【part1:搭建php环境】 1.选在自己需要安装的安装包版本,wget命令下载到服务器响应目录 http://php.net/releases/ 2.解压安装包 tar zxf php-x.x.x 3.cd到解压目录执行如下操作 cd ../php-...

硅谷课堂 ⋅ 今天 ⋅ 0

Nginx服务架构初探(四):nginx服务器的rewrite功能

nginx服务器的rewrite功能 1.nginx后端服务器组的配置 1>upstream name {…} name是给服务器组限的组名 2>server address [parameters]; address为服务器地址 parame......

余温灬未存 ⋅ 今天 ⋅ 0

layer.prompt使文本框为空的情况下也能点击确定

最近一直在使用layui,但是用到弹出层layer.prompt时,如果文本框是空的话点击确定没有反应,不能向下执行。 但是我又需要空值,看看我原来的代码。 123456789 layer.prompt...

孟飞阳 ⋅ 今天 ⋅ 0

Linux普通文件压缩工具gzip、Bzip2、xz

第六章 文件压缩和打包 6.1 压缩打包介绍 Linux环境常见压缩文件类型: .zip,.gz,.bz2,.xz, .tar.gz,.tar.bz2,.tar.xz 压缩打包的目的 方便文件传输 节省磁盘空间 减少传输花费的时间 ...

弓正 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部