CoreMidi 命名空间

CoreMidi 命名空间提供用于与 MIDI 子系统交互的类。

IOErrorEventArgs

IOError 事件提供数据。

Midi

使用 CoreMidi 的全局方法和常量。

Midi.Notifications

Midi 发布的通知。

MidiCIProfile

CoreMidi 命名空间提供用于与 MIDI 子系统交互的类。

MidiCIProfileState

CoreMidi 命名空间提供用于与 MIDI 子系统交互的类。

MidiCISession

CoreMidi 命名空间提供用于与 MIDI 子系统交互的类。

MidiClient

在 MacOS X 和 iOS 中使用 MIDI 的主入口点。

MidiDevice

表示 MIDI 设备 (通常表示硬件设备,但虚拟设备也存在于) 。 设备可以包含一个或多个实体。

MidiDeviceList

CoreMidi 命名空间提供用于与 MIDI 子系统交互的类。

MidiEndpoint

终结点表示 MIDI 流上的单个源或目标。

MidiEntity

一个 MidiObject ,表示 的 MidiDevice子组件。

MidiException

Midi 方法引发的异常。

MidiNetworkConnection

使用 MidiNetworkSession连接到 MIDI 网络主机。

MidiNetworkHost

远程 MIDI 主机。

MidiNetworkSession

维护各种 MIDI 实体之间的 的单一实例类 MidiNetworkConnection

MidiObject

MidiClientMidiPortMidiEntityMidiDeviceMidiEndpoint 类的基类。

MidiPacket

封装一系列 MIDI 事件。

MidiPacketsEventArgs

提供 和 E:CoreMidi.MidiPacketsEventArgs.MessageReceived 事件的数据MessageReceived

MidiPort

输入和输出端口。

MidiThruConnection

管理 MIDI 游戏直通连接。

MidiThruConnectionParams

MIDI 转换和路由。

ObjectAddedOrRemovedEventArgs

ObjectRemovedE:CoreMidi.ObjectAddedOrRemovedEventArgs.ObjectRemoved 事件提供数据。

ObjectPropertyChangedEventArgs

PropertyChanged 事件提供数据。

结构

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);