加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Delphi 2006中的MIDIYOKE

发布时间:2020-12-15 09:17:08 所属栏目:大数据 来源:网络整理
导读:我正在使用delphi中的应用程序.我需要使用MIDIYOKE将我的应用程序的输出发送到另一个应用程序.第二个应用是虚拟钢琴键盘. 我安装了所有的软件包并在delphi中获得了MIDI组件. 我尝试使用MidiOutputPort1和MidiInput1组件. 我试过播放一个MIDI.代码如下: proc
我正在使用delphi中的应用程序.我需要使用MIDIYOKE将我的应用程序的输出发送到另一个应用程序.第二个应用是虚拟钢琴键盘.

我安装了所有的软件包并在delphi中获得了MIDI组件.

我尝试使用MidiOutputPort1和MidiInput1组件.
我试过播放一个MIDI.代码如下:

procedure TForm3.Button1Click(Sender: TObject);
var
outputPort : TMidiOutputPort;
begin
 outputPort := TMidiOutputPort.Create (Nil);
   try
    outputPort.PortId := -1;
    outputPort.Active := True;
    outputPort.PatchChange(0,127,0); // Gunshot
    outputPort.NoteOn (1,20,127);    // Play note at full volume


    Sleep (1000);
    outputPort.NoteOff (0,60,0);
finally
outputPort.Free
end
end;

我想在我的应用程序和虚拟钢琴键盘之间建立联系.如何使用MidiOutputPort1和MidiInput1进行两者之间的连接.

解决方法

如果两个应用程序都支持MIDI同步,则可以使用MIDI同步.在这种情况下,MIDIYOKE是主设备,Vpk是从设备.同步由以下命令处理:

mc_MIDI_Timing_Clock           = $F8;
mc_MIDI_Start                  = $FA;
mc_MIDI_Continue               = $FB;
mc_MIDI_Stop                   = $FC;

我在很久以前就用它,所以我的知识有点生疏.我可以从我的代码中收集到的是它的工作方式如下:将slave设置为slave / sync receive /无论它被称为模式.接下来将$FA发送到您选择的频道.一些(并非所有)奴隶要求您收听特定频道.

在每个时钟滴答声,首先发送$F8.接下来发送消息,前面是$FB消息(两个数据字节都为零).当你准备好发送$FC.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读