CoreMidi 命名空间
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
CoreMidi 命名空间提供用于与 MIDI 子系统交互的类。
类
结构
MidiCIDeviceIdentification |
CoreMidi 命名空间提供用于与 MIDI 子系统交互的类。 |
MidiControlTransform |
表示 MIDI 控件的转换。 |
MidiThruConnectionEndpoint |
的 MidiThruConnection源或目标。 |
MidiTransform |
定义如何转换 MIDI 事件的对象。 |
MidiValueMap |
MIDI 值映射。 |
枚举
MidiError |
CoreMIDI 堆栈引发的错误。 |
MidiNetworkConnectionPolicy |
枚举,其值指定哪些主机有资格连接到 MIDI 网络会话。 |
MidiTransformControlType |
MIDI 控件转换类型。 |
MidiTransformType |
MIDI 转换类型。 |
委托
MidiCIProfileChangedHandler |
CoreMidi 命名空间提供用于与 MIDI 子系统交互的类。 |
MidiCIPropertyChangedHandler |
CoreMidi 命名空间提供用于与 MIDI 子系统交互的类。 |
MidiCIPropertyResponseHandler |
CoreMidi 命名空间提供用于与 MIDI 子系统交互的类。 |
注解
CoreMIDI 是一个 API,它与 iOS 和 OSX 上的 MIDI 服务器通信,后者又与连接到 Mac 或 iOS 设备的 MIDI 设备进行交互。
使用 CoreMIDI 时,你将遇到处理 MIDI 堆栈不同部分的各种类,下图说明了这些关系:
MIDI 设备本身由 MidiDevice 类表示。 设备可以包含一个或多个实体 (MidiEntity) 。 例如,MIDI 设备可能包含两个独立的 MIDI 音调生成器。 每个实体包含一系列终结点,这些终结点可以是源或目标。 MIDI 源和 MIDI 目标均由 MidiEntity 类封装。
若要从 MIDI 开始,需要创建 一个 MidiClient 对象。 此对象是应用程序和 MIDI 服务器进程之间的网关。 你订阅此对象引发的事件,以跟踪要添加、删除的设备及其属性和设置配置中的更改。
还可以使用 MidiClient 创建输入端口和输出端口。 输入端口在 MessageReceived 新的 MIDI 数据可用时引发 事件,你可以使用 Packets 接收的参数中的 属性来获取数据
有关如何设置内容的示例, MidiClient 请参阅 类。
若要使用联网 MIDI 连接,需要启用网络会话并设置其连接策略,如下所示:
var session = MidiNetworkSession.DefaultSession;
session.Enabled = true;
session.ConnectionPolicy = MidiNetworkConnectionPolicy.Anyone;
若要连接到远程 MIDI 网络主机, MidiNetworkHost请使用 ,如下所示:
var host = MidiNetworkHost.Create ("My Session", "myhost.xamarin.com", 5004);
var connection = MidiNetworkConnection.FromHost (host);