MonoTouch.CoreMidi 命名空间
CoreMidi namespace提供了用于调用MIDI 子系统的类.
注意:
CoreMIDI的API需要通过MIDI server调用 MIDI设备
当使用 CoreMIDI,需要使用多个类处理MIDI 栈的不同部分,下图说明了这部分关系:
MIDI设备本身由MidiDevice类表示。设备可以包含一个或多个实体(MidiEntity)。例如,一个MIDI设备可以包含两个独立的MIDI音调发生器。每个实体包含一系列端点,它们是源或命令。 MIDI源和MIDI目的都由MidiEntity类封装。
要开始使用MIDI,您将需要创建一个MidiClient对象。此对象是您的应用程序和MIDI服务器进程之间的关卡。您订阅此对象引发的事件,以跟踪要添加,删除的设备以及其属性和设置配置的更改。
您还可以使用MidiClient创建输入端口和输出端口。当新的MIDI数据可用时,输入端口会提升MidiPort.MessageReceived事件,您可以在接收的参数中使用MidiPacketsEventArgs.Packets属性来获取数据
有关如何设置事件的示例,请参阅MidiClient类。
要使用联网的MIDI连接,您需要启用网络会话并设置其连接策略,如下所示:
C# Example
var session = MidiNetworkSession.DefaultSession; session.Enabled = true; session.ConnectionPolicy = MidiNetworkConnectionPolicy.Anyone;
连接远程MIDI host 需要使用 MidiNetworkHost, 例如:
C# Example
var host = MidiNetworkHost.Create ("My Session", "myhost.xamarin.com", 5004); var connection = MidiNetworkConnection.FromHost (host);
来源:官方文档https://developer.xamarin.com/api/namespace/MonoTouch.CoreMidi/