Xamarin使用MIDI子系统

Keywords:

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/
 






作者:songshizhao 发表于:2017-07-23T02:58:56 访问量:425